关联结束未映射到ADO实体框架中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关联结束未映射到ADO实体框架中相关的知识,希望对你有一定的参考价值。
我刚刚开始使用ADO.net实体框架我已将两个表一起映射并收到以下错误:
Error 1 Error 11010: Association End 'OperatorAccess' is not mapped. E:Visual StudioprojectsBrandi IIBrandi IIHospitals.edmx 390 11 Brandi II
不知道是什么我做错了。
我相信我可以为这个问题增加一些清晰度(我随时学习):
当我查看Mapping详细信息并查看关联时,operatoraccess表的列(从上面)是空白的,下拉列表仅包含链接表中的字段。
实体框架设计师很糟糕 - 我多次遇到同样的问题(而你的问题也是如此,克雷格):
如果您的多对一关联设置不正确,就会发生这种情况。他们可以很容易地修复设计师,使这个过程变得简单;但相反,我们必须忍受这个废话。
修理:
- 单击关联,然后转到映射详细信息视图。
- 在关联下,单击“映射到<tablename>”。选择构成关系多方面的表格(即构成设计师协会*侧面的表格)
- 在“列”下,选择映射到每个实体端属性的表列。当其中一个条目为空时,您会收到此错误。
您的问题中没有太多信息,但一般来说,这意味着存在一个未完全定义的关联。可能是您尝试将具有外键的一个表映射到另一个表,但尚未映射该另一个表。当您尝试按类型继承执行表而不仔细遵循the steps for implementing that feature时,也会出现此错误。
不确定答案,但我刚刚发布了一个类似的问题,这可能至少有助于澄清您遇到的问题。 Defining an Entity Framework 1:1 association
我有完全相同的问题,这是我做的修复它。
确保您的设计师在与您建立关联的表格中设置了实体密钥。还要检查StoreGeneratedPattern是否设置为该实体密钥的标识。
我不得不回到数据库本身并澄清外键关系
在我创建0到1和0..1到0..1关联的情况下,我遇到了这个问题。一个实体需要与多个表关联,并且该实体没有为这些表定义外键。
我必须在接受的答案中给出表映射步骤,但请注意,它不仅适用于多对多的关联;它适用于我为此实体添加的所有类型的关联。
在Mapping Details视图中,我必须选择具有非外键ID列的实体到各个表。这并不总是关系的“多”方面。只有我能够将相关的实体属性映射到原始实体中的相应属性。选择“目标”实体将不允许我选择我需要的属性,并且错误仍然存在。
所以简而言之,我必须使用与具有“非外键”ID字段的实体相关的表进行映射,该字段对应于我需要关联的各种实体(及其表')主键。
实体A.
各种其他物业......
- ID
- 使用ContactID
- 的OrderId
等等
联系实体
- ID
- 名字
- 姓氏等
在映射详细信息中,我选择了实体A的表。然后它显示了关联的两端。我将其实体A的Id属性映射到其表的实际ID列(它们具有不同的名称)。然后,我将Contact实体的Id字段映射到A实体上的ContactId字段。
只需从Association> Edit Mapping中选择多个关系表(*)并选择适当的关系即可
以上是关于关联结束未映射到ADO实体框架中的主要内容,如果未能解决你的问题,请参考以下文章
SSH:Hibernate框架(七种关联关系映射及配置详解)