コード例 #1
0
        public void TransactionSuccess()
        {
            TestContext db = new TestContext("json", "default");

            db.Entries.RemoveRange(db.Entries);
            db.SaveChanges();

            Assert.Empty(db.Entries);

            using (IDbContextTransaction transaction = db.Database.BeginTransaction())
            {
                try
                {
                    db.Entries.Add(ModelCreator.GenerateEntry());
                    db.Entries.Add(ModelCreator.GenerateEntry());
                    db.Entries.Add(ModelCreator.GenerateEntry());
                    db.SaveChanges();

                    db.Entries.Add(ModelCreator.GenerateEntry());
                    db.Entries.Add(ModelCreator.GenerateEntry());
                    db.Entries.Add(ModelCreator.GenerateEntry());
                    db.SaveChanges();

                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                }
            }

            Assert.Equal(6, db.Entries.Count());
        }