实体框架不映射1对1关系
问题描述:
我有一些表,我不能让他们映射。实体框架不映射1对1关系
aspnet_Users
UserId<PK>
//Other Fields
Table A(intermediate table)
UserId<PK>
Table B
UserId<PK>
Field1
Field2
Field3
是的,当我在我添加这些3个表将要么得到与
aspnet_users一个1对1的关系,以表A
或
表A表B
我需要
aspnetusers to表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:
我该如何解决这个问题?
答
如果中间表只是一个关系映射表(具有一个aspUser.userid和tableb.userid列),实体框架会将其切断并仅将aspnet_Users显示到TableB。
如果正如你所说的那样,那么你应该看到所有三张桌子的链条。
在你的数据库中,你有从aspnet_Users到tableA和Tablea到tableB的外键关系吗?
1日关系:aspnet_Users.UserID = TableA.UseID 第二个关系:TableA.UserID = TableB.UseID
如果你这样做,那么你刷新实体数据模型从数据库和它应该显示三个表asp_users到tableA和tableA映射到tableB。请注意,您可能必须关闭/重新打开edmx文件以查看正确的连接,并且设计器有时不会刷新。 alt text http://i31.tinypic.com/2ajyq05.jpg
alt text http://i27.tinypic.com/2417bbm.jpg
alt text http://i31.tinypic.com/29g0c50.jpg
也许我没有加入协会的正确途径。你是怎么做到的?我无法让我的桌子像你的桌子一样出现。 – chobo2 2009-08-14 21:08:26
为表A添加了DB关系屏幕截图 – Jay 2009-08-14 21:14:53
我没有该外键关系窗口。它在哪里?我找不到它。 – chobo2 2009-08-14 21:18:49