使用Breeze查询在SQl server上执行NoLock查询
是否有任何方法可以修改所有或特定的Breeze查询,以在NoLock打开时进行查询 到目前为止,我已经尝试了两种方法 第一种方法是从BreezeConfig中派生,类似于 然后重写GetTransactionSettings,如下所示,希望所有查询现在都由事务包装使用Breeze查询在SQl server上执行NoLock查询,breeze,Breeze,是否有任何方法可以修改所有或特定的Breeze查询,以在NoLock打开时进行查询 到目前为止,我已经尝试了两种方法 第一种方法是从BreezeConfig中派生,类似于 然后重写GetTransactionSettings,如下所示,希望所有查询现在都由事务包装 public override TransactionSettings GetTransactionSettings() { var settings = base.GetTransactionSet
public override TransactionSettings GetTransactionSettings()
{
var settings = base.GetTransactionSettings();
settings.TransactionType = TransactionType.TransactionScope;
settings.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted;
return settings;
}
Sql profiler向我显示,我的读取未包装在事务中:/
我尝试的第二种方法是修改EFContextProvider的行为。这失败了-我能找到的唯一钩子,即使是派生的钩子,也是用于修改保存更改的。只读行为不适用
我还在调查杰的建议。但是我可能不知道我在做什么。如果您使用的是EFContextProvider,那么我不这么认为,因为Entity Framework不提供此功能 但是,您可以在服务器上拦截事务处理以完成类似的任务
看看这篇帖子:看看我上面修改过的问题。