我有一個IQueryable<SomePOCO>
(LINQ的實體查詢,如果該事項):幫助與C#LINQ投影
public class SomePOCO
{
public string ParentName { get; set; }
public string Name { get; set; }
public string Url { get; set; }
}
而且我想項目單個對象(匿名類型將是最好的,由於我只需要方法範圍),其具有2個屬性:
public string ParentName { get; set; }
public ICollection<SimplePoco> { get; set;
SimplePOCO如下:
public class SimplePOCO
{
public string Name { get; set; }
public string Url { get; set; }
}
我這樣做的原因是,所有的「SomePOCO」即時檢索具有相同的ParentName,所以我只想要一次,而不是相反的價值N次的電線和做.First()
。
希望是有道理的。
最終的結果是我應該能夠做到這一點:
var parentName = result.ParentName; // string
var pocos = result.SimplePOCOs; // ICollection<SimplePOCO>
我想我要麼需要某種聚集,像GroupBy
或SelectMany
。
任何想法?
有趣的是,GroupBy用於從一個標誌結構投影到一個層次結構 - SelectMany會將一個嵌套結構投影到一個扁平結構。 –