我使用多层aproach,我有一个用于Views的mvc4项目,一个用于Busines逻辑的dll项目,一个用于我的Data Acces的dll项目和一个用于我的EF5上下文(edmx)和实体(.tt的dll项目) )。 我的.tt上有一个“Doctor”课程,这个课程还包含一个“Specialties”列表,作为一个多对多关系,所以ef给了我:
Doctor---DOCTOR_SPECIALTY-----Specialty
un我的医生数据访问类我有一个通用的功能,以获得医生和一般功能,以获得特定医生的专业,然后在我的医生逻辑课上我有一个功能,当我创建一个医生,然后得到这位医生使用我的Data acses图层上的2功能并将其返回到我的MVC4应用程序。
在我的MVC应用程序中,我需要使用foreach
循环循环专业列表,但当y尝试访问doctor_specialty集合时,我得到下一个错误:
ObjectContext实例已被释放,无法再使用 对于需要连接的操作。
我相信这是因为由于某种原因,aplicattion正在进行延迟加载数据而不是使用它已经拥有的集合(我在调试器上有chk,集合在那里并包含正确的数据),但我不知道为什么
答案 0 :(得分:0)
在您的查询中包含专业。 例如:
var query=context.Doctors.Include("Specialities") and so on.