使用實體框架一個WPF應用程序工作。如何熱切負載2層包裹的物品進入收集(實體框架C#)
我的實體類是如下:
public partial class Pan
{
...
public virtual ICollection<Element> Elements{ get; set; }
...
}
public partial class Element
{
...
public Pan Pan { get; set; }
public Tray Tray { get; set; }
...
}
public class Tray
{
...
public virtual ICollection<Element> Elements{ get; set; }
...
}
我不管理加載與非空托盤的元素列表。
new Context().Elements.Where(i => <my_filter>);
- >加載lazily - > tray = null,而我希望托盤被加載!
new Context().Elements.Where(i => <my_filter>).Include(i => i.Tray).ToList();
- >這工作得很好
確定。現在我需要得到一個特定的泛的元素,這帶來了我未解決的問題。 myPan.Elements是一個ICollection,而不是IQueryable。 所以我不能使用.Include()方法。
我轉換的嘗試沒有成功:
myPan.Elements.AsQueryable<Element>().Where(i => <my_filter>).Include(i => i.Tray).ToList();
它運行,但仍然加載懶洋洋地。
有什麼想法?
'myPan'是一個變量嗎?它來自哪裏? –
myPan是泛 –
的一個實例。顯然。問題是*它來自哪裏*,即如何得到它,是否附加到某些上下文中的代理類實例等。 –