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, "手动提交事务测试失败"); }