EntityFramework 5上下文对象的CommitTransaction

时间:2012-09-16 02:37:41

标签: transactions entity-framework-5

我看到EF 5有一个“BeginTransaction”,但是我无法在提交的上下文中获得intellisense。没有CommitTransaction时有一个BeginTransaction有什么用呢?我纠正了我所看到的情况吗?

DbContext.BeginTransaction(System.Data.IsolationLevel.RepeatableRead)有效。上面的相应声明没有提交......有人可以告诉我这是否正确?如果没有Commit或Complete事务,它将不会更新....

2 个答案:

答案 0 :(得分:5)

有这个:

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

而且:

using(var scope = new System.Transactions.TransactionScope()) {
   // do stuff
   scope.Complete();
}

答案 1 :(得分:3)

您在哪里发现DbContext包含BeginTransaction方法?它不是。事务在SaveChanges方法内自动管理。如果您想自己管理交易,则必须使用TransactionScope并在范围内调用SaveChanges