关联结束未映射到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表的列(从上面)是空白的,下拉列表仅包含链接表中的字段。

alt text

答案

实体框架设计师很糟糕 - 我多次遇到同样的问题(而你的问题也是如此,克雷格):

如果您的多对一关联设置不正确,就会发生这种情况。他们可以很容易地修复设计师,使这个过程变得简单;但相反,我们必须忍受这个废话。


修理:

  • 单击关联,然后转到映射详细信息视图。
  • 在关联下,单击“映射到<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框架(七种关联关系映射及配置详解)

Hibernate框架学习之注解配置关系映射

EF添加关联的提示问题:映射从第 260 行开始的片段时有问题:

实体框架映射问题