linq如何从父集合包含另一个集合中的子项的集合中选择父节点

时间:2010-02-04 20:59:41

标签: linq

我有一个可观察的集合,即所有者和该集合有儿童项目,即狗。

现在给出了另一个本地狗的集合,我如何选择所有在我当地的狗集合中存在狗的所有者。平等条件是狗==狗。

1 个答案:

答案 0 :(得分:5)

以下行应该可以解决问题。这将为您提供所有业主,其中至少有一只狗在当地名单中。

owners.Where(owner => owner.Dogs.Any(dog => localDogs.Contains(dog)))

如果您只想要所有狗都在本地列表中的所有者,请使用以下内容。

owners.Where(owner => owner.Dogs.All(dog => localDogs.Contains(dog)))

微小差异是Any() vs。 All()