喜的特性的子集的一個組合列表說我有對象:的LINQ如何查詢項目的列表基於父項目
public class InvoiceLine
{
}
和
public class InvoiceHeader
{
public char Group { get; set; }
public List<InvoiceLine> InvoiceLines { get; set; }
}
數據爲他們設置如下:
var invoiceLine1 = new InvoiceLine();
var invoiceLine2 = new InvoiceLine();
var invoiceLine3 = new InvoiceLine();
var invoiceLine4 = new InvoiceLine();
var invoiceLine5 = new InvoiceLine();
var invoiceLine6 = new InvoiceLine();
var invoiceLine7 = new InvoiceLine();
var invoiceLine8 = new InvoiceLine();
var invoiceHeader1 = new InvoiceHeader { Group = 'A', InvoiceLines = new List<InvoiceLine> { invoiceLine1, invoiceLine2 } };
var invoiceHeader2 = new InvoiceHeader { Group = 'A', InvoiceLines = new List<InvoiceLine> { invoiceLine3, invoiceLine4 } };
var invoiceHeader3 = new InvoiceHeader { Group = 'B', InvoiceLines = new List<InvoiceLine> { invoiceLine5, invoiceLine6 } };
var invoiceHeader4 = new InvoiceHeader { Group = 'B', InvoiceLines = new List<InvoiceLine> { invoiceLine7, invoiceLine8 } };
var invoiceHeaders = new List<InvoiceHeader>
{
invoiceHeader1,
invoiceHeader2,
invoiceHeader3,
invoiceHeader4
};
我想要得到的是每個組的invoiceLines列表。
所以我想爲A組:
invoice1
,invoice2
,invoice3
和invoice4
和B組:
invoice5
,invoice6
,invoice7
和invoice8
最遠的我得到是:
var invoiceLinesGroupA = invoiceHeaders.SelectMany(x => x.InvoiceLines);
據我所知,將得到所有八個invoiceLines。不知何故,我需要按羣組進行區分,以獲得組A的組羣,併爲組B做同樣的事情。
任何人都可以幫忙嗎?
試過這個不會編譯 – user2005657