是否正在更改DbContext.ProxyCreationEnabled线程?

时间:2016-09-07 13:36:48

标签: c# asp.net-mvc multithreading entity-framework

在大多数情况下,我对Entity Framework的Proxy对象感到满意,但在某些情况下(JSON序列化),我无法使用EF创建的代理对象。

DbContext.ProxyCreationEnabled设置为false,然后返回true是否安全?如果在未代理查询运行时发生另一个查询怎么办?

我目前正在使用此功能,它可以正常工作,但我觉得我不能安全地执行此操作。

    public async Task<T> NoProxyAsync<T>(Func<MyDbContext, Task<T>> func)
    {
        var proxyCreationEnabled = Configuration.ProxyCreationEnabled;
        try
        {
            Configuration.ProxyCreationEnabled = false;
            return await func(this);
        }
        finally
        {
            Configuration.ProxyCreationEnabled = proxyCreationEnabled;
        }
    }

0 个答案:

没有答案