Каковы оптимальные методы для определения того, когда (или нет) предварительно скомпилировать запрос Linq? - PullRequest
1 голос
/ 08 апреля 2011

В настоящее время я занимаюсь рефакторингом приложения silverlight и извлекаю часто используемые запросы в служебный класс.В приложении много запросов, и хотя были некоторые очевидные цели, когда я перешел к очень маленьким запросам вроде этого:

public static readonly Func<STARSEntities, int> CurrentFundingYearId =
        CompiledQuery.Compile<STARSEntities, int>(
        (ctx) =>
            (ctx.STARS_FundingYear.Where(i => i.IsCurrentYear == true)).FirstOrDefault().FundingYearId);

Стоит ли компилировать?Все, что я прочитал ( Programming Entity Framework 2ed ) и различные онлайн-источники, говорит о повышении производительности, но я не нашел ничего такого, что бы указывало, когда НЕ нужно выполнять предварительную компиляцию (кроме того факта, что вы можетене возвращать анонимные типы, поэтому нет проекций).

Редактировать: Хорошая справочная статья о скомпилированных запросах: Прекомпиляция запросов LINQ

Каковы оптимальные методы определения, когда (или нет) предварительно скомпилировать запрос Linq в приложении?

1 Ответ

1 голос
/ 23 апреля 2011

В ответе на этот вопрос есть несколько рекомендаций когда мне следует использовать скомпилированный запрос

...