1. 程式人生 > >C#的EF中使用資料庫事務和併發隔離級別

C#的EF中使用資料庫事務和併發隔離級別


有時候我們需要直接在使用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);
}