兩種提交型別之間的主要區別是什么?
bool adresVarmi = false;
using (var trans = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted))
{
adresVarmi = dbContext.MUSTERI_ADRES.Where(x => x.MUSTERI_TANIM_ID == dto.MusteriId).AsNoTracking().Count() > 0;
trans.Commit();
dbContext.Database.CommitTransaction();
}
對于高流量應用程式是否相同?
uj5u.com熱心網友回復:
context.Database.CommitTransaction()
相當于
context.Database.CurrentTransaction.Commit()
該方法的主要目的是能夠從沒有呼叫BeginTransaction()或無法訪問回傳IDbContextTransaction物件的代碼提交當前事務。如果當前沒有活動事務,它將失敗。
由于您是啟動事務并有權訪問回傳IDbContextTransaction物件的人,因此最好Commit()在其上發出而不是使用CommitTransaction()方法。
即以下是首選(請注意,您不應像示例中那樣同時呼叫兩者,因為第二個將失敗,因為Commit()呼叫后不會有活動事務):
using (var trans = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted))
{
// do something...
trans.Commit();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/402658.html
標籤:
下一篇:到計算日期的嵌套層次結構
