实体框架未映射1对1关系

时间:2009-08-14 20:14:16

标签: asp.net entity-framework

我有一些桌子,我无法让它们映射。

aspnet_Users
UserId<PK>
//Other Fields

Table A(intermediate table)
UserId<PK>


Table B
UserId<PK>
Field1
Field2
Field3

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

建立一对一的关系

表A的aspnet_users

表A至表B

我需要

表A到表B的aspnetusers

我尝试添加此关联但它永远不会有效。

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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

如果中间表只是一个关系映射表(有一个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文件才能看到正确的连接,设计人员有时无法刷新。alt text

alt text

alt text

alt text

alt text