asp.net-mvc - 实体框架 -stange行为
我有3个最简单的表格:
http://magicscreenshot.blob.core.windows.net/screenshots/udYWngOVQEM.jpg
和他们之间的关系:
http://magicscreenshot.blob.core.windows.net/screenshots/zTK28gBgkEc.jpg
如果我从零创建一个新项目并创建实体模型(从DB)我收到正确的EF模型:
http://magicscreenshot.blob.core.windows.net/screenshots/ZZg8gpzXFkE.jpg
但是当我尝试为我的真实项目做同样的事情时 - 创建的EF模型非常奇怪
http://magicscreenshot.blob.core.windows.net/screenshots/WfKgc8vBDU8.jpg
我们可以看到,它创建了一个新的实体“SectionSite”,它与Site有关系,与Section无关。为什么会发生以及如何解决?
最佳答案:
2 个答案:
答案 0 :(得分:1)
如果您在Section和SectionSite表中添加了与添加Site表无关的内容,则能够复制此项。这会创建以下链接的链接。
要解决这种身份不匹配问题,您可以。
- 同时删除并重新添加Site,Section和SectionSite。 醇>
- 右键单击"添加新关联"在Site和SectionSite之间取消选中"将外键属性添加到'部分'实体" 醇>
- 然后你需要选择创建的关系,属性 - >参考约束和更新以满足您的FK关系。 醇>
- 一旦您开心,右键单击并验证您的模型,它现在应该有效吗? 醇>
OR
答案 1 :(得分:0)
使用Entity Framework,您不必创建映射表。
如果您让您的部门引用多个网站(ICollection)并让您的网站引用多个部分(ICollection),实体框架将为您创建一个SectionSite或SiteSection表。
本文经用户投稿或网站收集转载,如有侵权请联系本站。