编译子对象列表中所有Parent对象列表的最佳方法是什么?

时间:2014-05-03 23:35:13

标签: c# linq generic-collections

假设我有一个这样的子类和父类:

public Parent
{
    public ID {get; set;}
    public Name {get; set;}
    public ICollection<Child> Children {get; set;}
}

public Child
{
    public ID {get; set;}
    public Name {get; set;}
    public ICollection<Parent> Parents {get; set;}
}

使用linq或其他方式编制ICollection<Child>List<Child>的所有父母或所有子女的列表的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

像这样的东西

from p in Parents
where p.Children.Any(Function(x) ChildList.Contains(x))

答案 1 :(得分:0)

我把这作为一种方法来获得给定儿童名单的所有父母。

IEnumerable<Parent> parents = childList.SelectMany(c => c.Parents).Distinct();