2012-08-10 208 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);