Подтвердить что ты не робот

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

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

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

Итак, каков наилучший способ прекомпиляции запросов LINQ к коду-первому DbContext?

4b9b3361

Ответ 1

Как говорится в официальном сообщении:

"Нет поддержки скомпилированных запросов из DbContext К сожалению, из-за некоторых технических ограничений в функции скомпилированных запросов, которые мы отправили в .NET Framework 4.0, мы не можем поддерживать скомпилированные запросы через API DbContext. Мы понимаем, что это болезненное ограничение и будет работать, чтобы включить это для следующего выпуска. "

Ссылка.