0

我使用多层方法,我有一个用于视图的 mvc4 项目,一个用于业务逻辑的 dll 项目,一个用于我的数据访问的 dll 项目和一个用于我的 EF5 上下文(edmx)和实体(.tt)的 dll 项目。我的 .tt 上有一个“医生”类,这个类还包含一个“专业”列表,因为是多对多关系,所以 ef 给了我:

Doctor---DOCTOR_SPECIALTY-----Specialty

在我的医生数据访问类中,我有一个通用函数来获取医生和通用函数来获取特定医生的专业,然后在我的医生逻辑类上,我有一个函数,当我创建医生然后获取专业时医生在我的数据访问层上使用 2 函数并将其返回到我的 MVC4 应用程序。

在我的 MVC 应用程序中,我需要使用循环来循环专业列表foreach,但是当您尝试访问医生专业集合时,我得到下一个错误:

ObjectContext 实例已被释放,不能再用于需要连接的操作。

我相信这是因为由于某种原因,应用程序被训练为延迟加载数据而不是使用它已经拥有的集合(我在调试器上有 chk 集合存在并包含正确的数据),但我不知道为什么

4

1 回答 1

0

Include Speciality in your query. Ex:

var query=context.Doctors.Include("Specialities") and so on.
于 2013-10-03T08:08:23.560 回答