【问题标题】: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 端的表(即,构成设计器中关联的 * 端的表)
    • 下,选择映射到每个实体端属性的表列。 当其中一个条目为空白时,您会收到此错误

    【讨论】:

    • 映射详情视图?
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        我遇到了完全相同的问题,这就是我要解决的问题。

        确保您在您的设计器中设置了一个实体键,并放置在您与之关联的表上。还要检查该实体键的 StoreGeneratedPattern 是否设置为 Identity

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

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

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

            在“映射详细信息”视图中,我必须将具有非外键 ID 列的实体选择到各个表中。这并不总是关系的“多”方面。只有我能够将相关实体属性映射到原始实体中的适当属性。选择“目标”实体将不允许我选择我需要的属性,并且错误仍然存​​在。

            因此,简而言之,我必须使用与实体相关的表进行映射,该表具有与我需要关联的各种实体(及其表的)主键相对应的“非外键”ID 字段。

            实体 A

            各种其他属性...

            • 身份证
            • 联系人 ID
            • 订单编号

            等等

            联系实体

            • 身份证
            • 名字
            • 姓氏 等

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

            【讨论】:

              【解决方案7】:

              只需从 Association>Edit Mapping 中选择多个关系表 (*) 并选择适当的关系

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2019-03-27
                • 1970-01-01
                • 2014-08-21
                • 2011-08-28
                • 1970-01-01
                • 2010-10-09
                相关资源
                最近更新 更多