Контекст объекта на основе запроса и производительность Complied Query с Entity Framework - PullRequest
1 голос
/ 13 февраля 2012

В настоящее время я работаю с приложением служб WCF, и мы создали объектный контекст Entity Framework для каждого запроса. В запросах структуры сущностей мы использовали механизм 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;
        }
    }

Замок используется для внедрения контекста объекта в базу запросов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...