具有可能不同键的两个实体被映射到同一行

问题描述 投票:3回答:3

当我要映射此表时,我有这样的表Field1 PK int not null Field2 PK int not null我得到这个错误

Error   3   Error 3034: Problem in mapping fragments starting at lines 2212, 2218:
Two entities with possibly different keys are mapped to the same row.
Ensure these two mapping fragments map both ends of the AssociationSet to the corresponding columns.

我试图在模型中删除并重新创建该表。当我添加表时它会给出另一个错误,但最后我总是得到这个错误

我怎么能处理这个问题请帮帮我...

sql entity-framework entity-framework-mapping
3个回答
3
投票

当我调查这个问题时,我意识到有些事情,我之前读过这篇数据模型的一篇文章,我理解问题发生的原因。 (在实体框架中映射片段时出现问题)

实际上问题来自表映射,因为我说表有多对多关系所以那篇文章说如果你把那个表放在模型设计中它总是给我们这个错误,最后当我们在设计端删除那个表并静默添加表时数据模型所以可以构建程序。我告诉你这个,因为也许你可以为此做出一个主意,因为我学会了这个,当我在模型中添加新视图时,vs并没有给我任何错误。

这是旧模型图片时删除红色框内的表格程序没有给出任何错误并继续使用底部表格


0
投票

如果没有其他工作,请尝试删除并重新创建整个.edmx文件。

当我向现有的Entity Framework 6.2项目添加了几个多对多表时,我遇到了这个问题。我尝试删除并重新生成模型中的所有表。似乎没什么用。我相信在EF项目的某个地方有一些“垃圾”导致问题。

重新生成edmx时,我添加了项目中的所有表,包括多对多表。


0
投票

错误解决方案:3034

PK UserId; PK RoleId

两个主键不能允许edmx file.so在该表中创建sno列并将其作为主键。删除UserId和RoleId的pk。现在在那两列中没有可用的主键。

喜欢

Pk sno; FK UserId; FK RoleId

热门问题
推荐问题
最新问题