我是EF Core的新手,我正在尝试将枚举/字符串值添加为Order
表中的一列,以便能够在我的代码中像下面这样显示文本状态并存储为字符串在数据库中。但是,当我在添加OrderStatus
属性后尝试运行迁移时,出现此错误:
实体类型“ OrderStatus”需要定义主键。
我理解错误消息,但是如何在EF Core实体上添加一个属性,该属性使您只需将字符串保存在列中?
呼叫代码:
var order = new Order();
order.OrderStatus = OrderStatus.Ongoing;
枚举类:
public class OrderStatus : Enumeration
{
public static readonly OrderStatus Ongoing
= new OrderStatus(0, "Ongoing");
private OrderStatus() { }
private OrderStatus(int value, string displayName) : base(value, displayName) { }
}
班级:
public class Order : EntityBase
{
public int OrderId { get; set; }
public OrderStatus OrderStatus { get; set; }
public DateTime OrderDate { get; set; }
}