LINQ 查询具有分组的复杂数据
我以这种方式有一个复杂的数据
<Complex Data>
<Data Level 1>..........</Data> (only single row)
<Data>...................(n rows)
<Data 2a>............</Data> (only single row)
<Data 2b>............</Data> (n row)
<Id></Id>.....................(unique key)
</Data2>
</Complex Data>
我有一个这个复杂的数据 LIST
。我需要使用 中的元素对这些复杂数据进行分组
我尝试实现这个,但我只得到子数据类型 插入父数据类型
。
分组后如何将此子数据类型转换为父数据类型
如何在 foreach 循环中实现它。
I have a complex data in this manner
<Complex Data>
<Data Level 1>..........</Data> (only single row)
<Data>...................(n rows)
<Data 2a>............</Data> (only single row)
<Data 2b>............</Data> (n row)
<Id></Id>.....................(unique key)
</Data2>
</Complex Data>
I have a this complex data LIST<COMPLEX DATA>
. I need to group this complex data using a element from <Data 2a.......eg: Place> </Data2a>
I try to implement this but i get only the child data type only <Data 2a>
insted of parent data type <Data2>
.
how can i convert this child data type into parent data type after grouping
how can i implement this in a for each loop.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您需要对复杂数据进行分组,那么您应该在 Linq 中使用 GroupBy,而不是使用 for 或 for every 循环
http://msdn.microsoft.com/en-us/vbasic/bb738046 - 第一个示例(VB 中)应该涵盖您需要的内容?
或者,这个 LinqToXml 分组教程非常好: http://msmvps.com/blogs/martin_honnen/archive/2009/11/27/grouping-with-linq-to-xml.aspx
If you need to group the complex data, then you should be using GroupBy in Linq and not using a for or for each loop
There are some simple group by examples at http://msdn.microsoft.com/en-us/vbasic/bb738046 - the first example (in VB) should cover what you need?
Alternatively, this tutorial for LinqToXml grouping is quite good: http://msmvps.com/blogs/martin_honnen/archive/2009/11/27/grouping-with-linq-to-xml.aspx
如果我正确理解你的帖子,你正在寻找这样的东西:
如果你想投影,但以这种方式维护对源元素的引用,它有点丑陋......
Item1是你的复杂数据,而Item2是你当前的投影。嵌套的 foreach 循环使其更具可读性:
If I understand your post correctly, you are looking for something like this:
Its a bit ugly if you want to project, but maintain the reference to the source element this way...
The Item1 is your complext data, and Item2 your current projection. A nested foreach loop makes it more readable: