C#的EF中使用資料庫事務和併發隔離級別
阿新 • • 發佈:2019-02-14
有時候我們需要直接在使用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);
}