我有一些桌子,我无法让它们映射。
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:
我该如何解决这个问题?
答案 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文件才能看到正确的连接,设计人员有时无法刷新。