【发布时间】:2015-06-07 12:12:49
【问题描述】:
我正在使用带有 POCO 和 fluent-API 的 Entity Framework 6,但我注意到一个烦人的错误。
如果我有一个名为 MyEntity 的实体,并且该实体有一个名为 MyProp 的属性,则无法创建名为 MyEntity_MyProp 的实体。
例外:
The item with identity 'MyEntity_MyProp' already exists in the metadata collection.\r\nParameter name: item
如果我重命名任何实体或重命名属性,错误会立即消失。
“错误”很明显:键 [EntityName]_[PropertyName] 在元数据集合中必须是唯一的。
截图:
我正在将一个包含 390 多个类的大型实体框架模型从 EF 4(数据库优先)迁移到 EF 6(代码优先),并使用 fluent-API。重命名实体或表是没有问题的。
我该如何解决?
编辑
这个 SO 问题与我的问题无关:The item with identity 'Id' already exists in the metadata collection. Parameter name: item
【问题讨论】:
-
我在使用 EF 6.1.2 时遇到了这个问题。我升级到 EF 6.1.3,问题神奇地消失了。
-
我在 6.2 上,问题就在我身上。
标签: c# .net entity-framework entity-framework-6 poco