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を使い始めたばかりなので、手が届きません。この状態で(&条件付きで)追加する方法を教えてください。それを変更して、Name列を空にしないという別の条件を追加したいと思います。

このインスタンスは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 に答える