需要帮助迁移现有模型以包含每个类型继承 table

Need help migrating existing model to include table per type inheritance

我正在开发的应用程序是一个用于跟踪客户信息(创建、查看、编辑)的简单应用程序。我想扩展应用程序以包含有关客户家庭成员的基本信息。

我最近发现了在 entity framework 中使用继承的能力,并且想创建一个简单的继承层次结构,其中客户端从 class 被调用的人继承,因为客户端跟踪许多相同的信息作为他们的家庭成员加上一些额外的东西。这样,如果家庭成员也成为客户,他们只需要在客户 table 中有一个相应的条目和额外的信息。

我卡住的地方是如何将现有模型迁移到这个新模型。模型的变化看起来很明显,像这样:

public class Person
{
     public Int32 ClientID { get; set; }
     ... other fields ...
}

[Table("Client")]
public class Client : Person
{
    ... client specific fields ...
}

但是需要对上下文和其他地方进行哪些更改才能成功迁移到这个新模型?在 NuGet 中进行添加迁移时,仅对模型进行这些更改会出现空白迁移。

编辑:迁移不再是空白,而是添加了一个鉴别器列,据我所知这是每个层次结构设置 table 的一部分。

在 reddit 上获得一些帮助后,在我的上下文中看起来我有我需要的 onModelCreating 方法

modelBuilder.Entity<Person>();