TransactionScopeAsyncFlowOption和Isolation Level?

时间:2014-05-02 14:01:48

标签: wcf entity-framework c#-5.0 isolation-level asynchronous-wcf-call

我在WCF服务中使用Entity Framework 6.1,并希望用READ UNCOMMITTED隔离级别包围我的SELECT查询,因为其他批量更新将插入到表I中,我正在阅读并且不会在t想要在对表执行READ时锁定那些批量更新。这基本上模拟了SELECT WITH NOLOCK。

此代码也以异步方式使用。因此,我不能简单地使用TransacactionScope。请注意,我还使用.Net 4.5.1框架。

我可以将TransactionScope上的隔离级别设置为ReadUncommitted,但TransactionScopeOption的默认值为ReadCommitted。我没有看到任何改变隔离级别的方法。

有没有办法改变隔离级别?如果我无法设置隔离级别,我的查询是否可以在上述情况下运行。

实际上,如果我不能将隔离级别设置为" NOLOCK",我甚至不需要包含TransactionScopeAsyncFlowOption。

1 个答案:

答案 0 :(得分:8)

使用构造函数选项,将TransactionScopeAsyncFlowOption指定为第三个参数,而不是第一个参数:

.forEach