2011-02-11 11 views
0

私はエンティティを呼び出し、2つをriaサービス呼び出しに入れている状況があります。2つのナビゲーションプロパティを持つラムダ式

public IQueryable<Position> GetPositions(int programID) 
{ 
    return _positionRepository.All() 
       .Where(x => x.ProgramID == programID) 
       .Include("RecPositions.Person"); 
} 

IdはフロントエンドのPersonエンティティでハンドルを取得するのが好きです。私はこの作業をしています。以下のコードはRecPositionsとIntellisenceのハンドルを与え、私はPersonオブジェクトを見ることができます。 idはそのエンティティを抽象化するのが好きです。

var test = _allRec.Select(x => x.RecPositions).ToList(); 

テストは今私RecPositionを持っている...しかし、私はので、私は、人のオブジェクトのハンドルを取得することができ特急ラムダの書き方を知りたいです。

答えて

0

私は、これは私が欲しいものを私に与えているようだ。.. this..does誰もがこのまたはより良い方法に異議を持っていると

var test = _allRec.SelectMany(x => x.RecPositions) 
        .Select(p => p.Person) 
        .ToList(); 

を思い付きました。

+0

最終的な.ToList()の前に.Distinct()をスローすることによって利益を得ることができると思われますが、それ以外はうまく見えます。 –