예제 #1
0
        public void TestTransaction()
        {
            Student studentSample = new Student()
            {
                Id         = Guid.NewGuid().ToString(),
                Name       = "测试事务",
                Age        = 18,
                Sex        = 1,
                CreatedBy  = "ces",
                ModifyBy   = "qwddss",
                ModifyTime = DateTime.Now.AddYears(1)
            };

            var transaction = studentRepo.BeginTransaction();

            SqlCommand cmd = new SqlCommand("", (SqlConnection)studentRepo.GetDbConnection());
            var        x   = cmd.ExecuteNonQuery();

            cmd.Transaction = (SqlTransaction)transaction;
            try
            {
                var aa = studentRepo.Get("xcx", transaction);
                var f  = studentRepo.RecordCount("where age>@age", new { age = 12 }, transaction);
                studentRepo.Insert(studentSample, transaction);
                blogUserRepo.Execute("insert into [dbo].[Students] (id,name,age,sex) values (@id,@name,18,0)"
                                     , new { id = "gdsdjssnkl", name = "测试增加" + DateTime.Now.Minute }, transaction);

                transaction.Commit();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                // Todo:Logging

                throw ex;
            }
        }