关联结束未映射到ADO实体框架中

时间:2009-01-15 20:39:36

标签: vb.net entity-framework visual-studio-2008 ado.net

我刚开始使用ADO.net实体框架我已将两个表一起映射并收到以下错误:

Error   1   Error 11010: Association End 'OperatorAccess' is not mapped.    E:\Visual Studio\projects\Brandi II\Brandi II\Hospitals.edmx    390 11  Brandi II

不确定是什么我做错了。

我相信我可以为这个问题增加一些清晰度(随时学习):

当我查看Mapping详细信息并查看关联时,operatoraccess表的列(来自上方)为空白,下拉列表仅包含链接表中的字段。

alt text

7 个答案:

答案 0 :(得分:25)

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

如果您的多对一关联设置不当,就会发生这种情况。他们可以非常轻松修复设计人员,使此过程变得简单;但相反,我们必须忍受这个废话。


要修复:

  • 单击关联,然后转到映射详细信息视图。
  • 在关联下,点击地图到< tablename> 。选择构成关系许多方面的表格(即构成设计师协会*侧面的表格)
  • 下,选择映射到每个实体端属性的表格列。 当其中一个条目为空时会出现此错误。

答案 1 :(得分:1)

您的问题中没有太多信息,但一般来说,这意味着存在一个未完全定义的关联。可能是您尝试将具有外键的一个表映射到另一个表,但尚未映射该另一个表。当您尝试按类型继承执行表而不仔细关注the steps for implementing that feature时,也会出现此错误。

答案 2 :(得分:1)

不确定答案,但我刚发布了一个类似的问题,这可能至少有助于澄清您遇到的问题。 Defining an Entity Framework 1:1 association

答案 3 :(得分:1)

我遇到了完全相同的问题,这就是我所做的修复它。

确保您的设计师在与您建立关联的表格中设置实体密钥。同时检查该实体密钥的 StoreGeneratedPattern 是否设置为标识

答案 4 :(得分:0)

我不得不回到数据库本身并澄清外键关系

答案 5 :(得分:0)

在我创建多个0..1和0..1到0..1关联的情况下,我遇到了这个问题。一个实体需要与多个表相关联,并且该实体没有为这些表定义外键。

我必须在接受的答案中给出表格映射步骤,但请注意,它不仅适用于多对多关联;它适用于我为此实体添加的所有类型的关联。

在Mapping Details视图中,我必须选择具有非外键ID列的实体到各个表。这并不总是"很多"关系的一面。只有我能够将相关的实体属性映射到原始实体中的相应属性。选择"目的地"实体不允许我选择我需要的属性,错误仍然存​​在。

简而言之,我不得不使用与具有"非外键的实体相关的表进行映射"与各种实体对应的ID字段' (以及他们的表格')我需要关联的主键。

实体A

各种其他属性......

  • 编号
  • 的ContactID
  • 的OrderId

联络实体

  • 编号
  • 名字 等

在地图详细信息中,我选择了 实体A 表。然后它显示了关联的两端。我将其实体A的Id属性映射到其表的实际ID列(它们具有不同的名称)。然后,我将Contact实体的Id字段映射到A实体上的ContactId字段。

答案 6 :(得分:0)

只需从关联>编辑映射&中选择多个关系表(*)。选择适当的关系