如何在这个lambda函数中添加多个条件?

时间:2012-08-10 00:36:20

标签: c# .net linq entity-framework c#-4.0

我正在使用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);

2 个答案:

答案 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);