有时候我们需要直接在使用EF操作数据库的C#程序中使用数据库事务:
using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required,
new TransactionOptions() { IsolationLevel= System.Transactions.IsolationLevel.ReadUncommitted}))
{
}
以上代码还设置事务中使用NOLOCK的隔离级别,就是允许脏读,要改变隔离级别,可以修改
IsolationLevel
的参数。注意,EF使用事务要引用 System.Transactions;
关于隔离级别还可以直接使用
using (DaDbContext db = new DaDbContext())
{
db.Database.Connection.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);
}