私はさまざまな種類の EF エンティティを持っていますが、そのすべてに「Employee」というナビゲーション プロパティがあります。レポートを生成するとき、ユーザーはさまざまな従業員のプロパティ (コスト センター、性別など) に従ってレポートをフィルター処理するオプションを利用できます。
現在、各クエリを個別にフィルタリングしています。次に例を示します。
var courses = context.Courses
.Where(c => c.Employee.CostCenterID == ccID
&& c.Employee.Rank == rankID
....
)
.ToList();
実際のフィルタ コードはもっと長くなりますが、これはヒントにすぎません。とにかく、従業員によって結果をフィルタリングするための汎用メソッドを作成する方法はありますか? このフィルタ メソッドに提供するすべてのエンティティには、Employee
ナビゲーション プロパティがあります。orを指定するだけで、フィルタリングされたIQueryable<entity>
orObjectSet<entity>
を取得できIQueryable<entity>
ますObjectSet<entity>
。
どうやってするか?