我需要比较两个相同结构的对象。
每种类型都包含其他类型的集合。
ProcessA -> ChildrenA(链接)
ProcessB -> ChildrenB(链接)
如何使用 LINQ 查询这两个对象。并说:
ProcessA的集合 childrenA的哪些项目存在于ProcessB的集合 ChildrenB中。
基本上是在这个层次结构的第二级加入。我似乎无法找到在VB.NET中使用 Linq 加入他们的方法
先感谢您!
干杯
我需要比较两个相同结构的对象。
每种类型都包含其他类型的集合。
ProcessA -> ChildrenA(链接)
ProcessB -> ChildrenB(链接)
如何使用 LINQ 查询这两个对象。并说:
ProcessA的集合 childrenA的哪些项目存在于ProcessB的集合 ChildrenB中。
基本上是在这个层次结构的第二级加入。我似乎无法找到在VB.NET中使用 Linq 加入他们的方法
先感谢您!
干杯
你到底想达到什么目的?如果您只想要也存在于 processB 中的 processA 的孩子,则不需要加入,您可以编写如下内容:
var Matches = ProcessA.ChildrenA.Where(a=>ProcessB.ChildrenB.Any(b=>b==a));
更新:对于实体框架(不要使用 linq to objects 执行此操作,会非常慢!但是这会转换为良好的 SQL)
var q = from a in ProcessA.ChildrenA
from b in ProcessB.ChildrenB
where a.Name == b.Name
select new {a,b}