【问题标题】:Association end is not mapped in ADO entity framework关联端未映射到 ADO 实体框架中
【发布时间】:2009-01-15 20:39:36
【问题描述】:
我刚开始使用 ADO.net Entity Framework 我已将两个表映射在一起并收到以下错误:
Error 1 Error 11010: Association End 'OperatorAccess' is not mapped. E:\Visual Studio\projects\Brandi II\Brandi II\Hospitals.edmx 390 11 Brandi II
不知道我做错了什么。
我相信我可以更清楚地说明问题(边做边学):
当我查看映射详细信息并查看关联时,operatoraccess 表的列(从上方)为空白,下拉列表仅包含链接表中的字段。
【问题讨论】:
标签:
vb.net
entity-framework
visual-studio-2008
ado.net
【解决方案1】:
Entity Framework 的设计者很糟糕——我多次遇到同样的问题(克雷格也是你的问题):
当您的多对一关联设置不正确时,就会发生这种情况。他们可以非常轻松地修复设计器以简化此过程;但是,我们不得不忍受这种废话。
修复:
- 单击关联,然后转到映射详细信息视图。
- 在关联下,单击映射到。选择构成关系的 many 端的表(即,构成设计器中关联的 * 端的表)
- 在列下,选择映射到每个实体端属性的表列。 当其中一个条目为空白时,您会收到此错误。
【解决方案4】:
我遇到了完全相同的问题,这就是我要解决的问题。
确保您在您的设计器中设置了一个实体键,并放置在您与之关联的表上。还要检查该实体键的 StoreGeneratedPattern 是否设置为 Identity。
【解决方案6】:
在创建多到 0..1 和 0..1 到 0..1 关联的情况下,我遇到了这个问题。一个实体需要关联到多个表,而该实体没有为这些表定义外键。
我必须执行已接受答案中给出的表映射步骤,但请注意,这不仅适用于多对多关联;它适用于我为此实体添加的所有类型的关联。
在“映射详细信息”视图中,我必须将具有非外键 ID 列的实体选择到各个表中。这并不总是关系的“多”方面。只有我能够将相关实体属性映射到原始实体中的适当属性。选择“目标”实体将不允许我选择我需要的属性,并且错误仍然存在。
因此,简而言之,我必须使用与实体相关的表进行映射,该表具有与我需要关联的各种实体(及其表的)主键相对应的“非外键”ID 字段。
实体 A
各种其他属性...
等等
联系实体
在映射详细信息中,我选择了 Entity A's 表。然后它显示了关联的两端。我将其实体 A 的 Id 属性映射到其表的实际 ID 列(它们具有不同的名称)。然后我将 Contact 实体的 Id 字段映射到 A 实体上的 ContactId 字段。
【解决方案7】:
只需从 Association>Edit Mapping 中选择多个关系表 (*) 并选择适当的关系