为什么EF Core不让我创建没有主键的属性?

时间:2018-10-23 20:36:49

标签: c# asp.net-core .net-core entity-framework-core

我是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; }
}

0 个答案:

没有答案
相关问题