Ejemplo n.º 1
0
        public void TransactionTest()
        {
            using (var transaction = db.BeginTransaction())
            {
                Assert.AreEqual(transaction.T("INSERT INTO Test1 ( Name, Data, [Index] ) VALUES ( {...} )", "Ivony", "Test", 1).ExecuteNonQuery(), 1, "插入数据测试失败");
                Assert.AreEqual(transaction.T("SELECT * FROM Test1").ExecuteDynamics().Length, 1, "插入数据后查询测试失败");
            }

            Assert.AreEqual(db.T("SELECT * FROM Test1").ExecuteDynamics().Length, 0, "自动回滚事务测试失败");

            using (var transaction = db.BeginTransaction())
            {
                Assert.AreEqual(transaction.T("INSERT INTO Test1 ( Name, Data, [Index] ) VALUES ( {...} )", "Ivony", "Test", 1).ExecuteNonQuery(), 1, "插入数据测试失败");
                Assert.AreEqual(transaction.T("SELECT * FROM Test1").ExecuteDynamics().Length, 1, "插入数据后查询测试失败");

                transaction.Rollback();
            }

            Assert.AreEqual(db.T("SELECT * FROM Test1").ExecuteDynamics().Length, 0, "手动回滚事务测试失败");



            using (var transaction = db.BeginTransaction())
            {
                Assert.AreEqual(transaction.T("INSERT INTO Test1 ( Name, Data, [Index] ) VALUES ( {...} )", "Ivony", "Test", 1).ExecuteNonQuery(), 1, "插入数据测试失败");
                Assert.AreEqual(transaction.T("SELECT * FROM Test1").ExecuteDynamics().Length, 1, "插入数据后查询测试失败");

                transaction.Commit();
            }

            Assert.AreEqual(db.T("SELECT * FROM Test1").ExecuteDynamics().Length, 1, "手动提交事务测试失败");
        }