[英]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.