基于请求的对象上下文和包含实体框架的符合查询性能

时间:2012-02-13 08:31:21

标签: wcf entity-framework-4.1

我目前正在使用WCF服务应用程序,我们已根据实体框架的Object Context创建了每个请求。在实体框架查询中,我们使用了Complied Query机制,但是,目前无法实现预期的性能。我怀疑它是由于对象上下文的性质(基于每个请求),因为Complied查询依赖于对象上下文。是这样吗?

代码示例

private static readonly Func<MyContext, IQueryable<Order>> _compiledObjectQuery = CompiledQuery.Compile<MyContext, IQueryable<Order>>(
        (ctx) => from Order in ctx.Orders
                   .Include("OrderType")
           .Include("OrderLines")                       
               select Order
        );

    protected override IQueryable<Order> OrderQuery
    {
        get { return _compiledObjectQuery.Invoke(Context); }
    }

上下文创建

public OPDbContext DbContext
    {
        get 
        { 
            if(_dbConext == null)
            {
                _dbConext = new OPDbContext(Context, true);
            }

            return _dbConext;
        }
    }

Castle用于为每个请求库注入对象上下文

0 个答案:

没有答案