2009-09-02 77 views
6

我将我的实体模型添加到我的解决方案时出现错误3007。当我添加我的实体模型时获取错误3007

我发现这些链接:

Good explination

Short answer

关于此错误:

Error 1 Error 3007: Problem in Mapping Fragments starting at lines 89, 94: Non-Primary-Key column(s) [Person_ID] are being mapped in both fragments to different conceptual side properties - data inconsistency is possible because the corresponding conceptual side properties can be independently modified.

他们的答案:我与他们的结论一致认为,简单地删除标Property Person_ID并将导航属性保留为我的问题是固定的。然而,这不是非常可扩展的,因为我动态构建我的数据库,并且我的实体经常更新。我不想每次更新它时都要通过并清理我的实体。

我的问题:有没有办法通过更正EF构建实体的方式来解决错误?或者有没有办法通过代码去除标量属性?也许还有一些我忽略的选项。

回答

0

我对EF v1的体验与您的相似。当EDM生成不正确并且无法解决问题时,您必须手动编辑EDM。 EF v.Next(我相信实体框架v4)将支持“Code Only”实体数据模型,而EDM设计者应该会更好。其中一项或其他改进应该会让我们的生活变得更轻松在那之前......

5

尝试使用实体模型设计,将解决你的问题

例如

我们有两个表一个是客户等一个设置为从实体移除海外资产列order,使用实体模型设计,我们添加了客户和订单之间的关联,当我们这样做Ado.net实体框架时,我会将导航属性添加到下面的表格中。

像 Customer.Orders - 在这里顺序列表 Order.Customer

一个 - 一对多的关系。

因此,我们需要从名字客户编号 [外键列]从订单实体集删除属性。

参考:

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

相关问题