.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 而不会创建密钥。
我有基地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 而不会创建密钥。