在实体框架中更正关联映射

时间:2011-01-11 16:11:12

标签: .net entity-framework

尝试将实体框架中的两个关系从多对一更改为多对多关系。所以我尝试了显而易见的事情:点击图上的每个关联,相应地更改了关联的相应结尾,然后将导航属性的名称更改为复数以反映更改。

这会导致以下构建错误,或者对于我所做的两项更改都会产生错误:

  

错误3002:映射问题   片段从行开始   1761:潜在的运行时违规   表CustomerServices的键   (CustomerServices.Id):列   (CustomerServices.Id)映射到   EntitySet的   CompiledDatabaseCustomerService的   性能   (CompiledDatabaseCustomerService.CustomerService.Id)   在概念方面,但他们没有   形成EntitySet的关键属性   (CompiledDatabaseCustomerService.CompiledDatabase.Id,   CompiledDatabaseCustomerService.CustomerService.Id)

我不完全确定为什么会这样,所以不可思议的是我没有太多运气来解决它。我试图摆弄映射细节并添加参考约束无济于事。有人指出我正确的方向吗?

欢呼声, 马特

2 个答案:

答案 0 :(得分:0)

当您收到此错误时,首先要检查的一件事是查看并确保数据库模式中的键列与您的实体定义匹配。我在进行更新时遇到了类似的问题。

如果这似乎不是您的问题,那么还要检查您是否没有根据映射翻转列 - 确保所有内容都以正确的方向映射。 (我建议直接查看你的映射,看看这是不是发生了什么。)

答案 1 :(得分:0)

好的,事实证明,所需要的只是从模型更新数据库。 Idiot me - 我认为只重新生成了SQL脚本来创建数据库。