首页 > 解决方案 > .NET Core 中的主键继承

问题描述

我有一个基类BaseFunction

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

我还有一个派生类“ObjectiveFunction”:

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

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

我假设主键将由基类ObjectiveFunction扩展定义。我是否误解了如何设置它或者我还有其他事情发生(例如,未同步的迁移?)

标签: c#entity-framework-coreasp.net-core-mvcprimary-key

解决方案


使基类抽象,这将解决问题。如果它不是抽象的,那么实体框架将假定基类是不同的表并且不创建键。


推荐阅读