我看到EF 5有一个“BeginTransaction”,但是我无法在提交的上下文中获得intellisense。没有CommitTransaction时有一个BeginTransaction有什么用呢?我纠正了我所看到的情况吗?
DbContext.BeginTransaction(System.Data.IsolationLevel.RepeatableRead)
有效。上面的相应声明没有提交......有人可以告诉我这是否正确?如果没有Commit或Complete事务,它将不会更新....
答案 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
。