2011-02-11 100 views
0

我有一種情況,即我正在調用一個實體並將兩個包含在ria服務調用中。具有兩個導航屬性的Lambda表達式

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

我還想獲得對前端的人實體的句柄。我有這個工作..下面的代碼給了我一個處理recPositions和intellisence我可以看到Person對象。編號喜歡抽象該實體。

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

檢測目前已經擁有我的RecPosition ...但我想知道如何寫一個lambda表達,所以我可以得到人對象的句柄。

回答

0

我想出了this..does人有這種異議或有更好的方式..

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

這似乎給我我想要的。

+0

我猜你可以在最後的.ToList()之前拋出一個.Distinct(),但看起來不錯。 –