0

私は持っている

public IQueryable<Guid> AccessibleCities
{
    get
    {
        return CityRepository
            .FindAll(a => <CONDITIONS>);
    }
}

CityRepository.FindAll次のように実装されます。

public virtual IQueryable<TLookup> FindAll(Expression<Func<TLookup, bool>> predicate)
{
  return DataContext.GetSet<TLookup>().Where(predicate);
}

そして、私はこれを呼び出します

anotherRepository
    .FindAll(a => AccessibleCities.Any(b => ANOTHER CONDITION));

最後の 1 つを呼び出すと、AccessibleCities をクエリとして追加する代わりに、2 つのクエリが生成されます。

私を助けてください :)

4

1 に答える 1

1

最終的なクエリはそのようには機能しません。デフォルトでは連結されません。

PredicateBuilderクラスを試してください。それはあなたが達成しようとしているもののためにうまくいくはずです。

于 2012-04-28T14:35:03.690 に答える