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