1

我看到 EF 5 有一个“BeginTransaction”,但我无法在提交的上下文中获得智能感知。当没有 CommitTransaction 时,拥有 BeginTransaction 有什么好处?我是否正确我所看到的?

DbContext.BeginTransaction(System.Data.IsolationLevel.RepeatableRead)已验证。上面的相应语句没有 Commit... 有人可以告诉我这是否正确吗?如果没有 Commit 或 Complete 事务,它将不会被更新......

4

2 回答 2

5

有这个:

var transaction = DbContext.Database.Connection.BeginTransaction();
transaction.Commit();

还有这个:

using(var scope = new System.Transactions.TransactionScope()) {
   // do stuff
   scope.Complete();
}
于 2012-10-18T21:35:12.170 回答
3

你在哪里找到DbContext包含BeginTransaction方法的?它不是。事务在方法内部自动管理SaveChanges。如果您想自己管理事务,则必须在范围内使用TransactionScope和调用。SaveChanges

于 2012-09-16T07:59:47.637 回答