簡體   English   中英

TransactionScopeAsyncFlowOption和Isolation Level?

[英]TransactionScopeAsyncFlowOption and Isolation Level?

我在WCF服務中使用Entity Framework 6.1並希望用READ UNCOMMITTED隔離級別包圍我的SELECT查詢,因為其他批量更新將插入到我正在閱讀的表中,並且不希望鎖定那些批量更新當在表上執行READ時。 這基本上模擬了SELECT WITH NOLOCK。

此代碼也以異步方式使用。 因此,我不能簡單地使用TransacactionScope。 請注意,我也在使用.Net 4.5.1框架。

我可以將TransactionScope上的隔離級別設置為ReadUncommitted,但TransactionScopeOption的默認值為ReadCommitted。 我沒有看到任何改變隔離級別的方法。

有沒有辦法改變隔離級別? 如果我無法設置隔離級別,我的查詢是否可以在上述情況下運行。

實際上,如果我不能將隔離級別設置為“NOLOCK”,則我甚至不需要包含TransactionScopeAsyncFlowOption。

使用構造函數選項將TransactionScopeAsyncFlowOption指定為第三個參數,而不是第一個參數:

using (var scope = new TransactionScope(
    TransactionScopeOption.Required,  
    new TransactionOptions { IsolationLevel = IsolationLevel.ReadUncommitted },
    TransactionScopeAsyncFlowOption.Enabled)) 
{
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM