我有各种类型的 EF 实体,它们都有一个名为“Employee”的导航属性。生成报告时,用户可以选择根据不同的员工属性(成本中心、性别等)过滤报告。
目前我正在单独过滤每个查询,例如:
var courses = context.Courses
.Where(c => c.Employee.CostCenterID == ccID
&& c.Employee.Rank == rankID
....
)
.ToList();
真正的过滤器代码要长得多,但这只是一个提示。无论如何,有没有办法创建一个通用方法来过滤员工的结果?我将提供给此过滤器方法的所有实体都将具有Employee
导航属性。我将简单地提供一个IQueryable<entity>
orObjectSet<entity>
然后得到一个过滤的IQueryable<entity>
or ObjectSet<entity>
。
怎么做?