我有各种类型的EF实体,它们都有一个名为“Employee”的导航属性。生成报告时,用户可以根据不同的员工特征(成本中心,性别等)筛选报告。Linq-EF查询的通用过滤方法
目前我单独滤波过程中每个查询,例如:
var courses = context.Courses
.Where(c => c.Employee.CostCenterID == ccID
&& c.Employee.Rank == rankID
....
)
.ToList();
真正的滤波代码为更多的时间,但这个只是一个暗示。无论如何,有没有办法创建一个通用的方法来过滤员工的结果?我将提供给此过滤器方法的所有实体将具有Employee
导航属性。我会简单地提供一个IQueryable<entity>
或ObjectSet<entity>
,然后得到过滤IQueryable<entity>
或ObjectSet<entity>
。
如何做到这一点?
我想你应该张贴此代码问题上http://codereview.stackexchange.com/代替回答你自己的问题,并要求更好的解决方案 –
@SergeyBerezovskiy在问这个问题时,我不知道答案,在发布问题后我想出了答案。所以我不喜欢给教程什么的。你知道那些答案刚刚出现在你脑海中的时刻... –
@SergeyBerezovskiy无论如何,谢谢。我也在代码评论中发布。 –