.NET Core 中的主键继承

Primary key inheritance in .NET Core

我有基地classBaseFunction:

public class BaseFunction
    {
        [Key]
        public int BaseFunctionID { get; set; }
        public string Name { get; set; }
    }

我还有一个派生的 class 'ObjectiveFunction`:

public class ObjectiveFunction : BaseFunction
    {
        public bool IsMax { get; set; }
    }

当我尝试构建迁移时,出现错误: "The entity type 'ObjectiveFunction' requires a primary key to be defined.

我假设主键将由基础 class ObjectiveFunction 扩展定义。我是不是误解了如何设置它,还是我正在进行其他操作(例如,未同步的迁移?)

将基础 class 抽象化,这将解决问题。如果它不是抽象的,那么 entity framework 将假定基础 class 是不同的 table 而不会创建密钥。