【发布时间】:2013-02-24 10:30:13
【问题描述】:
好的,所以我有 2 个实体:课程和行业
行业实体只是一个参考表,其中列出了可以标记到课程的所有可用行业,以便对其进行分类。我输入了多对零或一对一的关系(一个课程可以选择是否有一个行业,而一个行业可以用许多课程标记)。
我知道我过去曾使用过一些图表,添加和删除关联。
现在是奇怪的部分:Course 的列映射有 2 个相似的列,IndustryId 和 Industry_Id
我怀疑它来自过去的关联,但我认为 EF 会解决这个问题。
问题出在这里:
在创建课程的我看来,IndustryId 是需要填充的属性。当我创建新课程时,我看到数据库中的 IndustryId 已填充。
但是,当我通过 Course (Course.Industry.Description) 访问 Industry 的属性时,没有填充任何内容。它似乎无法获取 Industry 实体。
我看到数据库中填充了 IndustryId,因此我尝试填充 Industry_Id 列。这解决了它。
很奇怪,模型中声明的属性是 IndustryId,因此该列被填充到数据库中。但是当我尝试通过 Course 获取行业实体时,它需要 Industry_Id,我不太清楚它来自哪里。
有人有什么想法吗?
【问题讨论】:
-
通过使您的导航属性虚拟化来利用延迟加载,或者使用流畅的 API,通过使用
.Include()进行预加载
标签: asp.net-mvc-3 entity-framework visual-studio-2012 entity entity-framework-5