2012-08-10 38 views
0

我正在使用EF通用存储库并具有此功能。如何在这个lambda函数中添加多个条件?

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,所以repository是PeriodRepository。

context.PeriodRepository.Query(a => a.EntityId == selectedEntityId and a.Name!=null); 

回答

7

这应该工作:

context.PeriodRepository.Query(a => a.EntityId == selectedEntityId && a.Name != null); 
1

这也将工作

context.PeriodRepository.Query(a => a.EntityId == selectedEntityId).Where(a => a.Name != null); 
相关问题