【发布时间】:2017-08-09 07:36:28
【问题描述】:
我在我的应用程序中多次使用相同的 EF 查询,所以我需要这样的东西:
private Expression<Func<Student, bool>> StudentIsActive()
{
return (x) => !x.IsDeleted && x.ItemsNumber > 0 && x.Sort > 0 && x.Status == StudentStatus.Active;
}
private Expression<Func<Student, bool>> StudentIsBusy()
{
return (x) => x.Mode == ModeType.Busy && x.Jobs.Count() > 0;
}
我想在多个查询中使用相同的逻辑,例如:
var students = context.Orders.Where(x => StudentIsActive() && StudentIsBusy()).ToList();
有人对此有任何想法吗?如何在表达式方法之间使用 AND 或 OR 逻辑?
【问题讨论】:
-
如果只需要
And他们一起,只需再添加一个Where子句,例如:context.Orders.Where(StudentIsActive()).Where(StudentIsBusy()) -
@DavidG 谢谢,AND 的好解决方案
标签: c# entity-framework