我的所有实体都有一个基类:
public class Entity<TKey> : IEntity<TKey> { dynamic IEntity.Id { get { return this.Id; } set { this.Id = value; } } public TKey Id { get; set; } }
例如状态实体:
[MetadataType(typeof(StatusMetadata))] public partial class Status : Entity<byte> { public string Title { get; set; } }
当我对数据库运行查询时,我收到以下错误:“具有标识’Id’的项已经存在于元数据集合中.参数名称:item”.
有没有办法解决这个问题,或者这是由继承引起的问题,我不能从任何类继承我的实体?
解决方法
@H_301_14@ 这似乎是一般错误,寻找一些见解,我看到:两个表可以具有相同的主键名称.查看LightSwitch表,它们都有一个名为Id的主键.
因此,我查看了所有实体,并获得了一个更改了Identiy数据类型的实体,并继承了另一个具有int Id属性的类.
我是否更改此公共新字符串Id {get;组;到公共字符串Id {get;组;像其他人一样删除继承,一切正常.