我正在使用EF通用存储库并具有此功能。
public IEnumerable<T> Query(Expression<Func<T, bool>> filter)
{
return objectSet.Where(filter);
}
它在这样的类中使用此函数之前工作正常:
private void BindProbabationPeriod()
{
ddlProbabationPeriod.DataSource = context.PeriodRepository.Query(a => a.EntityId == selectedEntityId);
ddlProbabationPeriod.ValueMember = "Id";
ddlProbabationPeriod.DisplayMember = "ProbabationPeriod";
}
因为我刚开始使用LINQ,所以我没有好好处理它。你可以指导我如何在这种情况下添加和(以及条件)。我想修改它并添加另一个条件,名称列不应为空。
请注意,此实例为Period,因此存储库为PeriodRepository。
context.PeriodRepository.Query(a => a.EntityId == selectedEntityId and a.Name!=null);
答案 0 :(得分:7)
这应该有效:
context.PeriodRepository.Query(a => a.EntityId == selectedEntityId && a.Name != null);
答案 1 :(得分:1)
这也可行
context.PeriodRepository.Query(a => a.EntityId == selectedEntityId).Where(a => a.Name != null);