【问题标题】:Entity Framework not mapping 1 to 1 Relationship实体框架未映射 1 对 1 关系
【发布时间】:2009-08-14 20:14:15
【问题描述】:

我有一些表格,我无法将它们映射到地图。

aspnet_Users
UserId<PK>
//Other Fields

Table A(intermediate table)
UserId<PK>


Table B
UserId<PK>
Field1
Field2
Field3

是的,当我在其中添加这 3 个表时,我将与

建立一对一的关系

aspnet_users 到表 A

表 A 到表 B

我需要

aspnetusers 到表 A 到表 B

我尝试添加此关联,但它无法正常工作。

Error 3021: Problem in Mapping Fragment starting at line 168: Each of the following columns in TableA is mapped to multiple conceptual side properties:

我该如何解决这个问题?

【问题讨论】:

    标签: asp.net entity-framework


    【解决方案1】:

    如果中间表只是一个关系映射表(有aspUser.userid 和tableb.userid 列),实体框架将其剪掉,只将aspnet_Users 显示给TableB。

    如果如您所说,那么您应该会看到所有三个表的链。

    在您的数据库中,您是否有从 aspnet_Users 到 tableA 以及从 Tablea 到 tableB 的外键关系?

    第一个关系:aspnet_Users.UserID=TableA.UseID 第二个关系:TableA.UserID=TableB.UseID

    如果你这样做,那么从数据库中刷新你的实体数据模型,它应该显示三个表 asp_users 到 tableA 和 tableA 到 tableB 映射。请注意,您可能必须关闭/重新打开 edmx 文件才能看到正确的连接,并且设计器有时不会刷新。

    【讨论】:

    • 也许我没有以正确的方式添加关联。你是怎么做到的?我不能让我的桌子像你的那样显示出来。
    • 添加了 TableA 的 DB 关系屏幕截图
    • 我没有那个外键关系窗口。它在哪里?我找不到它。
    • 哦,等一下,那是 sql 的。我看到了
    • 好的,它可以工作。我不知道这件事是如此挑剔。我只是将 SQl 中的关系从一个主键拖到另一个主键,因为我认为在这种情况下走哪条路并不重要,因为它们都是主键。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 2011-11-11
    相关资源
    最近更新 更多