1

私は現在、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クエリをプリコンパイルするタイミング(またはしない)を決定するためのベストプラクティスは何ですか?

4

0 に答える 0