0

我需要比较两个相同结构的对象。

每种类型都包含其他类型的集合。

ProcessA -> ChildrenA(链接)

ProcessB -> ChildrenB(链接)

如何使用 LINQ 查询这两个对象。并说:

ProcessA的集合 childrenA的哪些项目存在于ProcessB的集合 ChildrenB中。

基本上是在这个层次结构的第二级加入。我似乎无法找到在VB.NET中使用 Linq 加入他们的方法

先感谢您!

干杯

4

1 回答 1

0

你到底想达到什么目的?如果您只想要也存在于 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}
于 2013-10-15T05:13:16.630 回答