Как предварительно скомпилировать запрос Entity Framework Code-First ?

Я столкнулся с некоторыми проблемами производительности с моими запросами Entity Framework Code-First, и я считаю, что предварительная компиляция может быть ответом. Если бы я использовал «обычную» Entity Framework, я бы просто использовал метод CompiledQuery.Compile для предварительной компиляции моих запросов. Но поскольку у меня есть DbContext, а не ObjectContext, я не могу заставить это работать.

Я понимаю, что DbContext - это IObjectContextAdapter , который дает мне доступ к ObjectContext, но я не могу найти метод, который позволяет мне получить IQueryable из контекста моего объекта, который работает в моем предварительно скомпилированном запросе. Я попытался использовать CreateObjectSet , но когда EF попытался выполнить запрос, он пожаловался, что не может преобразовать этот метод в SQL.

Итак, как лучше всего предварительно скомпилировать запросы LINQ для кода? Первый DbContext?

18
задан John Bledsoe 21 June 2011 в 13:58
поделиться