在 ASP.Net MVC 6 Identity 框架中实现继承

Implement inheritence in ASP.Net MVC6 Identity framework

我目前正在开发 ASP.Net 5 / ASP.Net MVC 6 应用程序。我使用 EntityFramework 7 作为 ORM 框架和代码优先方法。 在我的模型中,我有以下内容:

对于我所有的模型对象,我实现了一个 通用存储库 方法,它基本上为每个模型 class 实现了通用的 CRUD 操作,并允许重写通用方法对于特定域 classes.

但对于 AppUser class,ASP.Net Identity framework 带有自己的存储库,基本上允许添加用户、向用户添加角色、检查登录的唯一性等。 .

我的问题是:如何将这两个存储库一起使用,以便当我添加一个 Person 时,它会通过身份框架存储库创建一个 AppUser,然后存储字段我的自定义 Person 在同一数据库记录中 ?

请注意,AppUser 上的 Person 继承已通过代码优先解决为单个 table 继承:相同的 table 存储 AppUser 和 Persons,并生成了一个判别字段。

您创建了一个自定义管理器 class,它扩展了身份框架提供的用户管理器 class。这个新的 CustomUserManager class 将具有 UserManager class 的所有功能,加上您要实现的用于添加 Person

的新功能