これをチェックしていただきありがとうございます。
私の状況は、ユーザーがカスタムのフィルター処理されたビューを作成できるシステムを持っていることです。これをリクエスト時に linq クエリに組み込みます。インターフェイスで、作成したすべてのビューの数を確認したいと考えています。かなり簡単です。複数のクエリを 1 つの呼び出しに結合することには慣れていますが、この場合、最初にいくつのクエリを持っているかわかりません。
このループがカウントクエリを単一のクエリに結合し、ToList() または FirstOrDefault() で実行できる手法を知っている人はいますか?
//TODO Performance this isn't good...
foreach (IMeetingViewDetail view in currentViews)
{
view.RecordCount = GetViewSpecificQuery(view.CustomFilters).Count();
}
これは、私が参照している複数のクエリを組み合わせた例です。これは 2 つのクエリであり、匿名のプロジェクションに結合して、SQL サーバーへの単一のリクエストを生成します。
IQueryable<EventType> eventTypes = _eventTypeService.GetRecords().AreActive<EventType>();
IQueryable<EventPreferredSetup> preferredSetupTypes = _eventPreferredSetupService.GetRecords().AreActive<EventPreferredSetup>();
var options = someBaseQuery.Select(x => new
{
EventTypes = eventTypes.AsEnumerable(),
PreferredSetupTypes = preferredSetupTypes.AsEnumerable()
}).FirstOrDefault();