EF Code First を使用し、リストを含むエンティティが与えられた場合、そのエンティティのオブジェクト グラフ全体を積極的に読み込むにはどうすればよいですか。
例:
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; }
}
いくつかの異なるサブタイプのインスタンスを含むことができる基本クラスでない場合BarBase
は、使用できます
.Include("Bars").Include("Bars.Bazes")
私が試したら
.Include("BarBase").Include("BarBase.Bazes").Include("BarBase.Quuces")
エラーが発生します
指定されたインクルード パスが無効です。EntityType 'BarBase' は、'Bazes' という名前のナビゲーション プロパティを宣言していません。
しかし、さまざまな具象型を含むことができる状況をどのように処理すればよいのでしょうか?また、それらの具象型に含まれるものBars
を含むすべてのインスタンスを積極的にロードしたいのでしょうか?List<T>