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?