0

同じ構造の 2 つのオブジェクトを比較する必要があります。

各タイプには、他のタイプのコレクションが含まれています。

ProcessA -> ChildrenA (リンクの)

ProcessB -> ChildrenB (リンクの)

これら 2 つのオブジェクトを LINQ を使用してクエリするにはどうすればよいですか。そして、言います:

ProcessAのコレクション childrenAのどのアイテムが、 ProcessBのコレクション ChildrenBに存在するか。

基本的に、このHierarchyの2 番目のレベルで結合します。VB.NETでLinqを使用してそれらに参加する方法を見つけることができないようです

前もって感謝します!

乾杯

4

1 に答える 1

0

正確に何を達成しようとしていますか?プロセス B にも存在するプロセス A の子のみが必要な場合は、結合は必要ありません。次のように記述します。

var Matches = ProcessA.ChildrenA.Where(a=>ProcessB.ChildrenB.Any(b=>b==a));

更新: エンティティ フレームワークの場合 (オブジェクトへの linq でこれを行わないでください。非常に遅くなります!ただし、これは適切な 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 に答える