![](/img/trans.png)
[英]Linq: Match to properties of child object in a list of child objects and return parent object from a list of parents
[英]How to use Linq to select and group complex child object from a parents list
如何使用Linq從父列表中選擇和分組復雜的子對象。
我有一個OrderList,每個訂單對象都有一個OrderProductVariantList (OrderLineList),每個OrderProductVariant對象都有ProductVariant,然后ProductVariant對象將有一個Product對象,其中包含產品信息。
我的目標是從訂單列表中選擇和分組最受歡迎的產品。
誰能幫我這個?
非常感謝。
您的描述很難理解,但我認為您只想獲取產品並按發生次數對其進行排名。 SelectMany將對此有所幫助。
var query = orderList.SelectMany( o => o.OrderLineList )
// results in IEnumerable<OrderProductVariant>
.Select( opv => opv.ProductVariant )
.Select( pv => p.Product )
.GroupBy( p => p )
.Select( g => new {
Product = g.Key,
Count = g.Count()
});
查詢不是結果。 要查看結果,您可以遍歷query
對象:
foreach (var result in query) {
Console.WriteLine(result);
}
至於為什么查詢在觀察窗口中不可用,我只能想象它還沒有在范圍內,或者它已經超出了范圍。 嘗試在您分配給查詢的行所在行之后立即在行上放置斷點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.