0
我有對象圖如下所示:顯式地加載實體內相關實體
Public ClassA
{
public int Id { get; set; }
public virtual ICollection<ClassB> ClassB_List { get; set; }
}
Public ClassB
{
public int Id { get; set; }
public virtual ICollection<ClassC> ClassC_List { get; set; }
}
Public ClassC
{
public int Id { get; set; }
}
現在我想要做的是什麼,因爲我已禁用延遲加載在的DbContext水平,對於給定的ClassA的實例,我想加載所有相關的實體(ClassBList和ClassCList)。 我可以在使用加載嵌套集合ClassB_List:
context.Entry(classA).Collection("ClassB_List").Load();
不過,我不知道再怎麼內ClassB_List加載每個子項的ClassC_List不訴諸垃圾的東西像這樣:
classA.ClassB_List.ToList().ForEach(c => context.Entry(c).Collection("ClassC_List").Load());
我知道我找到了另一種方法是使用include()使用預先加載的情況下:
var c = context.ClassA_list
.Include("ClassB_List.ClassC_List")
.ToList();
這是罰款ClassA的實例的名單我f我已經通過DBContext模型包含了屬性,但我並不經常想要這樣做,只是想明確加載。 任何想法?
是否有可能做到這一點顯式加載而不使用預加載,因爲我喜歡加載一個單一的父實體,而不是一個列表的相關實體? – Rubans