9
我試圖使用LINQ根據文檔上的列表元數據創建文檔的分組列表。LINQ:根據子列表中的屬性進行分組
下面是我的對象結構的外觀:
List<Document>
--> List<Metadata>
--> Metadata has a name and a value property.
我想組在此基礎上有一個名字的元數據標籤的文件:其中,ID屬性的值是相同的ID,並將它們組合。
我想它是這樣的:
var x = response.Document
.GroupBy(d => d.Metadata.Where(dc => dc.Name == DocProperty.ID)
.Select(dc => dc.Value));
這導致單個文檔的列表,但沒有ID分組。
還想過選擇不同的ID列表,然後遍歷文檔列表並查找與ID匹配的文檔。這似乎是一個很大的開銷,因爲對於清單中的每個ID,我必須每次進入元數據列表並找到文檔,並且必須對發現的多個項目進行額外檢查,獲取我需要的屬性等。
任何人都有一個關於如何讓這個東西工作的好主意?
這工作!謝謝 – ChristiaanV 2011-03-10 10:43:10
有沒有一種簡單的方法可以將其轉換爲流暢的符號? 我試了一下,但並不確定把GroupBy放在哪裏,所以它可以訪問meta.value屬性。 這是我嘗試: VAR Y = response.Document .GroupBy(d => d.DocumentCharacteristic 。凡(DC => dc.Name == DocProperty.InvoiceNumber) 。選擇(dc => dc.Value)); – ChristiaanV 2011-03-10 10:47:37
請注意,每個分組中的meta.Value應該是'.Key' ... – 2011-03-10 11:07:08