コンパイルされた LINQ to SQL クエリをリファクタリングすることは可能ですか? いくつかのロジックを含むクエリがあり、それに基づいて構築したいとします。そのクエリを再利用することは可能ですか?
たとえば、アクティブなアイテムを取得するための基本的なクエリがあるとします。
Func<DataContext, IQueryable<Item>> GetActiveItems =
CompiledQuery.Compile((DataContext context) =>
context.Items.Where(item => item.IsActive));
上記の式に基づいて、別のクエリを作成したいと思います。のドキュメントはCompiledQuery
、コンパイルされたデリゲートの結果に別の演算子を適用できないことを示しています。では、そのような式をリファクタリングするための推奨される方法は何ですか?
を使うべきだと思いますExpression
が、どのように使えばいいのでしょうか? それとももっと良い方法がありますか?