在查询中比较表达式<Func<T、布尔>>与布尔值



您如何将Expression<Func<T, bool>>与实体框架查询中的CC_1进行比较?

这是我要做的示例:

Expression<Func<Errand, bool>> isClosed = (x)
    => x.ClosedDate.HasValue;
bool input = false;
var model = db.Errands
    .Where(isClosed == input) // comparing to just boolean is not valid
    .ToList();

您如何实现此目标?

一个选项是用方法动态创建表达式:

public Expression<Func<Errand, bool>> IsClosed(bool closed)
{
    return x => x.ClosedDate.HasValue == closed;
}

并这样使用:

bool input = false;
var model = db.Errands
    .Where(IsClosed(input))
    .ToList();

最新更新