我正在使用ASP构建一个SaaS应用程序。NET MVC 5,其中我需要存储两种不同类型的用户,他们将为每种用户存储不同的字段信息。将有Subsciber和General Users,其中每个General用户都属于一个Subscriber。因此,每个用户都将有一个父订阅者。
我是否应该有一个单独的ASPNETUSERS表来存储所有用户(订阅者/普通用户),并在同一个表中为每个用户存储自定义列?我认为必须有更好的做法来实现这一点。由于这将是一个SaaS应用程序,我们将跨多个实体的用户信息存储在一个数据库中,我们应该选择什么样的数据库设计?
作为参考,这里是我目前的数据库设计-
id[用户的主键]电子邮件暗语sub_name[只有当用户是订阅者时,才会填充订阅者名称]sub_address[订阅者地址,只有当用户是订阅者时才会填充]status[如果用户处于活动状态则存储]parent_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
}