标识符为“Id”的项目已存在于元数据集合中。参数名称:item我所有的实体都有一个基类:publicclassEntity:IEntity{dynamicIEntity.Id{get{returnthis.Id;}设置{this.Id=value;}}publicTKeyId{get;放;}}例如StatusEntity:[MetadataType(typeof(StatusMetadata))]publicpartialclassStatus:Entity{publicstringTitle{get;元数据集合中已存在项目“Id”。参数名称:item”。有没有办法解决这个问题,或者这是继承引起的问题,我不能从任何类继承我的实体?这似乎是一个普遍的错误,寻找一些见解,我看到:两个表可以有相同的主键名称。看看LightSwitch表,它们都有一个名为Id的主键。在http://social.msdn.microsoft.com/Forums/vstudio/en-US/bd8d47da-d1b4-4be8-a7e5-193fb5360060/the-item-with-identity-actionpk-already-exists-in-the-metadata-collection?Forum=lightswitch所以我查看了所有的实体并得到了一个改变Identiy数据类型并继承了另一个具有intId属性的类。我是否更改此publicnewstringId{get;放;}publicnewstringId{get;放;}公共字符串Id{get;放;}公共字符串ID{得到;放;一切正常。原因是您继承的类已经具有不同类型的Id属性。我在CodeMigrations中看到同样的错误。我有一个名为“Version”的属性字符串,我继承的EntityData数据类还包含一个类型为byte[]的Version属性。这会产生与您提到的解决方案相同的错误,只是不使用基类中已有的相同属性名称。它发生在我身上是因为双字段FK,我错误地使用了同一个字段两次来链接表......尝试像这样向属性添加“新”:元数据集合中已经存在。参数名称:item分享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注——[MetadataType(typeof(StatusMetadata))]publicpartialclassStatus:Entity{publicnewstringTitle{get;放;}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
