在AspNetUsers

时间:2018-03-05 18:32:35

标签: .net asp.net-mvc .net-core asp.net-identity asp.net-core-2.0

在向AspNetUsers表扩展/添加属性时,最佳做法是什么? (.Net Core 2.0)

1)您可以在AspNetUsers表中添加其他属性

2)你可以把事情放在索赔中

3)您可以在属性中添加对另一个表的引用

4)您可以使用user.id并将其与更多数据一起存储在另一个表中

那么最佳做法是什么?

1 个答案:

答案 0 :(得分:3)

嗯,#1和#2都是可以接受的,具体取决于具体情况。但是,#3和#4是应该避免的不良做法。这类似于ASP.NET成员与UserProfile一起使用的机制,但这只是必要的,因为User是一个无法操纵的固定实体。身份被设计为可扩展的,所以扩展它。

在决定是否使用属性或声明时,主要取决于数据类型。如果您正在谈论FirstNameLastName等内容 - 同样适用于每个用户的内容 - 我会选择属性。相反,我会使用诸如Facebook访问令牌之类的东西。将此存储在AspNetUsers表上会导致数据库的非规范化,因为很多用户只会为该列使用NULL。声明本质上是根据用户特定和瞬态设计的。