c#通过依赖链传递List

时间:2016-04-07 19:02:07

标签: c# entity-framework

我有A类,一对多到B类,它与C类一对多。如何在A类中创建C类列表?

public class A 
{
    public virtual IList<B> Bs { get; set; }
    //  need List<C> Cs passed from Bs
}

public class B
{
    public virtual A A { get; set; }
    public virtual IList<C> Cs { get; set; }
 }

public class C
{
    public virtual B B { get; set; }
}

1 个答案:

答案 0 :(得分:2)

您可以使用来自LINQ的SelectMany,这会使列表列表变得扁平化,并且#34;到一个列表。

public class A 
{
    public virtual IList<B> Bs { get; set; }

    //if you need an IList<C>
    public IList<C> Cs
    {
        get { return Bs.SelectMany(b => b.Cs).ToList(); }
    }  

    //if you need an IEnumerable<C>
    public IEnumerable<C> Cs
    {
        get { return Bs.SelectMany(b => b.Cs); }
    }    
}