我有一个Asp.Net MVC 5网站。在我的系统中,大约有5种类型的用户具有不同的属性,每个用户都应该拥有自己的控制面板,这将为他们提供处理系统工作的工具。
现在我明白我可以采取两种方法(或者甚至是更好的替代方案)
使用ApplicationUser
作为所有这些的基类,例如:
public class NormalUser : ApplicationUser
{
}
并检索我想要的那些:var users = db.Users.OfType<NormalUser>();
但是我知道这会将不同用户类型的所有属性组合到同一个表中,并且它可能是一个巨大的表。
ApplicationUser
作为每种用户类型的属性并手动处理所有内容。这显然可能有点乏味但可能有点整洁。是否有第三种更好的方法,如果不是,哪种方法是Web开发人员的首选方法?因为我认为这是各种网站上非常普遍的需求。