LINQ - filter child collection

前端 未结 1 702
一向
一向 2020-12-06 17:40

I\'d like to be able to query parent entities and filter the contents of a child collection.

For example, I have a collection of OrderHeaders. I want to query this

相关标签:
1条回答
  • 2020-12-06 18:28

    Try the following:

    var filtered = orders
        .Where(o => o.Detail.Any(d => d.StockCode == "STK2"))
        .Select(o => new { Order = o, Details = o.Detail.Where(d => d.StockCode == "STK2") });
    

    Which is then useable like so:

    foreach (var entity in filtered)
    {
        Console.WriteLine("Account {0} ", entity.Order.AccountCode);
        foreach (var detail in entity.Details)
        {
            Console.WriteLine("StockCode {0}, Quantity {1}", detail.StockCode, detail.Quantity);
        }
        Console.WriteLine();
    }
    
    0 讨论(0)
提交回复
热议问题