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);
4

2 回答 2

7

这应该有效:

context.PeriodRepository.Query(a => a.EntityId == selectedEntityId && a.Name != null);
于 2012-08-10T00:39:22.700 回答
1

这也可以

context.PeriodRepository.Query(a => a.EntityId == selectedEntityId).Where(a =>  a.Name != null);
于 2012-08-10T15:04:57.430 回答