我有一个这样的课程
public class Phone : ItemBase
{
public virtual string Model { get; set; }
public virtual decimal Price { get; set; }
[ScaffoldColumn(false)]
public virtual string ImagePath { get; set; }
public virtual string Network { get; set; }
[DisplayName("Dimensions")]
public virtual string BodyDimension { get; set; }
}
和这样的基类
public class ItemBase
{
[ScaffoldColumn(false)]
[Key]
public virtual long ItemID;
[ScaffoldColumn(false)]
public virtual DateTime CreatedDate { get; set; }
[ScaffoldColumn(false)]
public virtual DateTime ModifiedDate { get; set; }
}
密钥在基类中定义,但EF表示
电话::实体类型'电话'没有定义键。定义密钥 对于实体类型。
我应该将关键字段移动到Phone类吗? 什么是最好的解决方案?
答案 0 :(得分:2)
ItemId
字段ItemId
属性而不是字段。类似的东西:
public class ItemBase
{
[ScaffoldColumn(false)]
[Key]
public long ItemID {get; set;}
[ScaffoldColumn(false)]
public virtual DateTime CreatedDate { get; set; }
[ScaffoldColumn(false)]
public virtual DateTime ModifiedDate { get; set; }
}