添加实体模型时出现错误3007

entity-framework entity-relationship

当我将实体模型添加到我的解决方案时,我收到错误3007。

我找到了这些链接:

好的探索

简短的回答

关于此错误:

错误1错误3007:从第89,94行开始映射片段中的问题:非主键列[Person_ID]正在两个片段中映射到不同的概念侧属性 - 数据不一致是可能的,因为相应的概念侧属性可以独立修改。

他们的回答:我同意他们的结论,即只需删除标量属性Person_ID并保留导航属性我的问题就解决了。然而,由于我正在动态构建我的数据库并且我的实体经常更新,因此这不是很可扩展。我不希望每次更新它时都要经历并清理我的实体。

我的问题:有没有办法通过纠正EF构建实体的方式来修复错误?或者有没有办法通过代码删除标量属性?也许甚至有一些我可以忽视的选择。

一般承认的答案

我对EF v1的体验与您的相似。如果EDM生成不正确而您无法解决问题,则必须手动编辑EDM。 EF v.Next(我相信实体框架v4)将支持“仅代码”实体数据模型,EDM设计师应该会更好。一个或另一个改进应该让我们的生活更轻松。直到那时...


热门答案

尝试使用实体模型设计从实体集中删除外部属性列,它将解决您的问题

例如

我们有两个表,一个是客户 ,另一个是订单 ,使用实体模型设计我们在客户和订单之间添加了关联,当我们这样做Ado.net实体框架时,我将向下面的表添加导航属性。

与Customer.Orders一样 - 此处的订单是Order.Customer

一个 - 很多关系。

因此,我们需要从Order实体集中删除名称为CustomerId [Foreign key column]的属性。

以供参考:

http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/2823634f-9dd1-4547-93b5-17bb8a882ac2/




许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因