2 つのメソッド間で 1 つの LINQ クエリを共有する方法はありますか? データベースから検索結果を取得する非常に長いLINQクエリがあり、このクエリを使用して結果を取得する必要があります(ある種のリスト<>)-最初のメソッド-およびそのカウント(int)を取得する-2番目のメソッド-。このクエリを 2 つの別々のメソッドにコピーしたくありません。また、検索結果とレコード数 (このクエリによって返される) を含むカスタム クラス オブジェクトを返すこともできません。だから私がしたいのは、LINQクエリ定義(またはこのようなもの?)を取得することですが、他の方法で使用できる結果セットは取得しません。たぶん、それを行う別の良い方法があります。助けてくれてありがとう;)
コードは次のようになります。
public ??? GetSearchResultsQuery(SearchRequest search_request)
{
var queryGetSearchResults = ....
return queryGetSearchResults;
}
public int GetSearchResultsCount(SearchRequest search_request)
{
return GetSearchResultsQuery(search_request).Count();
}
public List<SearchResults> GetSearchResults(SearchRequest search_request)
{
return GetSearchResultsQuery(search_request).Skip(search_request.startRowIndex).Take(search_request.maximumRows).ToList();
}