[英]Code first one to Many relationship
我已經定義了這樣的一對多關系
public class ClassA
{
[Key, ForeignKey("ClassB"), Column(Order = 0)]
public int ClassB_ID { get; set; }
[Key, Column(Order=1)]
public string name { get; set; }
public bool IsApproved { get; set; }
public virtual ClassB ClassB { get; set; }
}
public class ClassB
{
[Key]
public int ID{get;set;}
public string Name{get;set;}
public virtual ICollection<ClassA> classAs{get;set;}
}
正常工作,直到我將classA綁定到具有Bind(ClassB.Name)的Listview
我得到了ObjectContext實例已被處置,不能再用於需要連接的操作。
這可能是因為使用了惰性加載 。 嘗試使用導航屬性(ClassA)進行訪問時,這會導致數據庫的額外往返行程,但是您的上下文已被釋放。
延遲加載 :首次讀取實體時,不會檢索相關數據。 但是,第一次嘗試訪問導航屬性時,將自動檢索該導航屬性所需的數據。 這導致將多個查詢發送到數據庫。
您可能可以通過急切加載 Include()
或顯式加載解決此問題。
var values = context.ClassB.Include("ClassA").ToList()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.