2014-01-17 30 views
0

我有一個電話組列表中的電話對象列表。手機上有一個屬性「is4GCompatible」。Linq列表中的查詢列表並排除子列表數據

我想查詢電話組,並讓我包含4GComptible電話的所有電話組。 linq查詢有一定的擴展性,但它也包含不兼容的手機,這不是我正在尋找的手機。

代碼的活生生的例子:http://rextester.com/OKB8502

請指教?

+0

壞請求.....請在此處顯示您的代碼。 –

+0

我只在Chrome中收到了錯誤的請求。奇怪。 –

回答

0

你有這樣的示例代碼來獲取包含有4Gcompatible手機羣:

phonegroups.Where(p => p.phones.Any(x => x.is4GCompatible == true)).ToList(); 

如果要排除並非4GCompatible你會把手機需要構建僅包含那些4GCompatible的電話的新羣組:

 phonegroups.Where(pg => pg.phones.Any(p => p.is4GCompatible)) 
        .Select(pg => new phonegroup 
         { 
         groupName = pg.groupName, 
         phones = pg.phones.Where(p => p.is4GCompatible).ToList() 
         }) 
        .ToList(); 
0

只是猜測,你想要包含4GComptible電話的羣組。使用Where + Any

var all4GComptible = phoneGroups.Where(pg => pg.Any(p => p.is4GCompatible));