使用ASP.NET MVC5 Identity framework在两个表或单个表中分别存储用户集?

使用ASP.NET MVC5 Identity framework在两个表或单个表中分别存储用户集?,asp.net,asp.net-mvc-5,asp.net-identity,Asp.net,Asp.net Mvc 5,Asp.net Identity,我正在使用ASP.NET MVC 5构建一个SaaS应用程序,在这里我需要存储两种不同类型的用户,他们将为每个用户存储不同的字段信息。将有子用户和普通用户,其中每个普通用户将属于一个订户。因此,每个用户都有一个父订户 我是否应该有一个ASPNETUSERS表来存储所有用户订阅服务器/普通用户,并在同一个表中为每个用户存储自定义列?我认为必须有更好的实践来实现这一点。由于这将是一个SaaS应用程序,我们在一个数据库中跨多个实体存储用户信息,我们应该采用什么样的数据库设计 作为参考,这里是我目前的数

我正在使用ASP.NET MVC 5构建一个SaaS应用程序,在这里我需要存储两种不同类型的用户,他们将为每个用户存储不同的字段信息。将有子用户和普通用户,其中每个普通用户将属于一个订户。因此,每个用户都有一个父订户

我是否应该有一个ASPNETUSERS表来存储所有用户订阅服务器/普通用户,并在同一个表中为每个用户存储自定义列?我认为必须有更好的实践来实现这一点。由于这将是一个SaaS应用程序,我们在一个数据库中跨多个实体存储用户信息,我们应该采用什么样的数据库设计

作为参考,这里是我目前的数据库设计-

id[用户的主键] 电子邮件 暗语 sub_名称[仅当用户是订户时才会填充订户名称] sub_地址[仅当用户是订户时才会填充订户地址] 状态[存储用户是否处于活动状态] parent_id[父项的id。仅当用户是普通用户时才会填充此id]

除上述内容外,我们还将注册每个用户/普通用户的角色


请告知。谢谢您的帮助。

您应该使用一个表,并在代码中为不同类型的用户创建两个类。具有实体框架的ASP表使用鉴别器列给出的每个层次结构的表:

public class Subscriber : IdentityUser {

    public virtual List<GeneralUser> GeneralUsers {get; set;}
    //other properties
}
public class GeneralUser : IdentityUser {

    public virtual Subscriber Subs {get; set;}
    //other properties
}