使用Breeze查询在SQl server上执行NoLock查询

使用Breeze查询在SQl server上执行NoLock查询,breeze,Breeze,是否有任何方法可以修改所有或特定的Breeze查询,以在NoLock打开时进行查询 到目前为止,我已经尝试了两种方法 第一种方法是从BreezeConfig中派生,类似于 然后重写GetTransactionSettings,如下所示,希望所有查询现在都由事务包装 public override TransactionSettings GetTransactionSettings() { var settings = base.GetTransactionSet

是否有任何方法可以修改所有或特定的Breeze查询,以在NoLock打开时进行查询

到目前为止,我已经尝试了两种方法

第一种方法是从BreezeConfig中派生,类似于

然后重写GetTransactionSettings,如下所示,希望所有查询现在都由事务包装

    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不提供此功能

但是,您可以在服务器上拦截事务处理以完成类似的任务


看看这篇帖子:

看看我上面修改过的问题。