使用 ASP.NET MVC 5 身份框架将不同的用户集存储在两个 table 或单个 table 中?
Store seperate sets of users in two tables or single table using ASP.NET MVC5 Identity framework?
我正在使用 ASP.NET MVC 5 构建 SaaS 应用程序,我需要在其中存储两种不同类型的用户,这两种类型的用户需要为每个用户存储不同的字段信息。将有订阅者和普通用户,其中每个普通用户都属于订阅者。因此,每个用户都会有一个父订阅者。
我是否应该有一个 ASPNETUSERS table 来存储所有用户(订户/普通用户),并在同一个 table 中为每个用户存储自定义列?我相信必须有更好的做法来实现这一目标。由于这将是一个 SaaS 应用程序,我们在单个数据库中跨多个实体存储用户信息,我们应该采用哪种数据库设计?
作为参考,这是我目前的数据库设计-
id [用户的主键]
电子邮件
密码
sub_name [订阅者名称。仅当用户是订户时才会填充]
sub_address [订阅者地址,仅当用户是订阅者时才会填充]
status [如果用户处于活动状态则存储]
parent_id [父级的Id。仅当用户是一般用户时才会填充]
除上述之外,我们将注册每个用户的角色(Subscriber/General 用户)
请指教。感谢您的帮助。
您应该在代码中使用一个 table 并为不同类型的用户创建两个 类。具有 entity framework 的 ASP table 对每个层次结构使用 table(由鉴别器列提供):
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
}
我正在使用 ASP.NET MVC 5 构建 SaaS 应用程序,我需要在其中存储两种不同类型的用户,这两种类型的用户需要为每个用户存储不同的字段信息。将有订阅者和普通用户,其中每个普通用户都属于订阅者。因此,每个用户都会有一个父订阅者。
我是否应该有一个 ASPNETUSERS table 来存储所有用户(订户/普通用户),并在同一个 table 中为每个用户存储自定义列?我相信必须有更好的做法来实现这一目标。由于这将是一个 SaaS 应用程序,我们在单个数据库中跨多个实体存储用户信息,我们应该采用哪种数据库设计?
作为参考,这是我目前的数据库设计-
id [用户的主键] 电子邮件 密码 sub_name [订阅者名称。仅当用户是订户时才会填充] sub_address [订阅者地址,仅当用户是订阅者时才会填充] status [如果用户处于活动状态则存储] parent_id [父级的Id。仅当用户是一般用户时才会填充]
除上述之外,我们将注册每个用户的角色(Subscriber/General 用户)
请指教。感谢您的帮助。
您应该在代码中使用一个 table 并为不同类型的用户创建两个 类。具有 entity framework 的 ASP table 对每个层次结构使用 table(由鉴别器列提供):
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
}