如何从EF中的父实体联合子集合?

时间:2013-03-17 10:40:44

标签: c# linq entity-framework-4

我有多个“父”实体,每个实体都有一个儿童导航集。

对于给定的父母子集,是否有一种简洁有效的方法来创建所有孩子的IEnumerable? (即没有重复)。

我可以通过父母和孩子联盟,但这似乎非常有用。

from p from parents
select p.Children

返回重复项。

class Parent
{
    public List<Child> Children { get; set; }
}

class Child
{
    public string Name { get; set; }
}

2 个答案:

答案 0 :(得分:1)

或者使用方法语法:

var children = parents.SelectMany(p => p.Children)
                      .Distinct();

答案 1 :(得分:0)

var query = (from p in parents
             from c in p.Children
             select c)
            .Distinct();