Eagerly Load Navigation Property, czyli List <OfSomeBaseClass>

Używanie kodu EF Najpierw i podając encję zawierającą listę, jak mogę z ochotą załadować cały wykres obiektu dla tej jednostki:

Przykład:

<code>public class Foo
{
    public int Id { get; set; }

    public List<BarBase> Bars { get; set; }
}    

public class BarBase
{
    public int Id { get; set; }

    public string Text { get; set; }
}

public class BarTypeA : BarBase
{
    public List<Baz> Bazes { get; set; }
}    

public class BarTypeB : BarBase
{
    public List<Quux> Quuces { get; set; } { get; set; }
}   
</code>

JeśliBarBase nie były klasą bazową, która mogłaby zawierać instancje kilku różnych podtypów, mógłbym użyć

<code>.Include("Bars").Include("Bars.Bazes")
</code>

Jeśli spróbuję

<code>.Include("BarBase").Include("BarBase.Bazes").Include("BarBase.Quuces") 
</code>

Dostaję błąd

Określona ścieżka Uwzględnij jest nieprawidłowa. EntityType „BarBase” nie deklaruje właściwości nawigacji o nazwie „Bazes”.

Ale jak sobie z tym poradzićBars może zawierać różne konkretne typy i chcę chętnie załadować wszystkie te wystąpienia, w tym teList<T> zawarte w tych konkretnych rodzajach?

questionAnswers(1)

yourAnswerToTheQuestion