实体框架键未定义
本文关键字:未定义 框架 实体 | 更新日期: 2023-09-27 17:49:14
我有一个这样的类
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::实体类型'Phone'没有定义键。定义键对于实体类型。
我应该把关键字段移动到电话类吗?最好的解决方案是什么?
- 您不需要在
ItemId
字段上标记virtual 让
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; }
}