MVC5多个用户类型 - 更喜欢ApplicationUser的基类或属性?

时间:2015-04-11 18:02:41

标签: asp.net-mvc asp.net-membership asp.net-identity membership-provider

我的应用程序将有3种类型的用户,例如IndividualUser,BusinessUser和AdminUser。每个模型可能有相当多的不同属性。

我看过几篇帖子(12),主张从MVC5模板附带的ApplicationUser类派生这些类。像这样:

IndividualUser : ApplicationUser
{
  string FirstName {get;set;}
  string LastName {get;set;}
}

但是......我知道这种设置会导致所有用户类型在数据库中共享同一个表。因此,当某些用户类型具有必须不可为空的不同属性(例如DateTime字段)时,我预计会出现问题。

因此,我正在考虑将ApplicationUser类用作更高级用户模型的属性。像这样:

IndividualUser
{
  ApplicationUser ApplicationUser {get;set;}
  string FirstName {get;set;}
  string LastName {get;set;}
} 

这似乎对我来说更合适,因为3种用户类型中的每一种都有许多不同的属性。然而,我从未见过推荐这种方法 - 我想知道这是否有原因?

我对使用MVC5中的成员资格并不是特别有信心,所以我不确定每种方法的后果或含义是什么。

0 个答案:

没有答案