.net 在AspNetUsers中存储附加用户属性

.net 在AspNetUsers中存储附加用户属性,.net,asp.net-mvc,.net-core,asp.net-identity,asp.net-core-2.0,.net,Asp.net Mvc,.net Core,Asp.net Identity,Asp.net Core 2.0,在向AspNetUsers表扩展/添加属性时,最佳做法是什么?(.Net核心2.0) 1) 您可以在AspNetUsers表中添加其他属性 2) 你可以提出索赔 3) 可以在属性中放置对另一个表的引用 4) 您可以使用user.id并将其与更多数据一起存储在另一个表中 那么什么是最佳实践呢?好吧,根据具体情况,1和2都是可以接受的。但是#3和#4是应该避免的坏做法。这类似于ASP.NET成员资格与UserProfile一起使用的机制,但这只是必要的,因为User是一个无法操作的固定实体。身份被设

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

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

2) 你可以提出索赔

3) 可以在属性中放置对另一个表的引用

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

那么什么是最佳实践呢?

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

在决定是否使用财产或索赔方面,主要取决于数据的类型。如果你说的是像
FirstName
LastName
,等等——对每个用户都同样适用的东西——我会选择属性。相反,我会使用声明来声明Facebook访问令牌之类的东西。将其存储在
AspNetUsers
表中会导致数据库的非规范化,因为许多用户只需将该列设置为NULL即可。声明本质上是针对特定于用户的、暂时的

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


在决定是否使用财产或索赔方面,主要取决于数据的类型。如果你说的是像
FirstName
LastName
,等等——对每个用户都同样适用的东西——我会选择属性。相反,我会使用声明来声明Facebook访问令牌之类的东西。将其存储在
AspNetUsers
表中会导致数据库的非规范化,因为许多用户只需将该列设置为NULL即可。声明本质上是针对特定于用户的、暂时的

这是一个很好的方式来框架属性与索赔。用户之间的一致属性应该是属性,其他属性应该是声明,以避免非规范化。例如,如果我想向用户添加配置文件图片,我会使用add a property,因为它适用于每个用户?当你使用索赔时,还有什么其他的例子吗?这是一个很好的方法来框定属性和索赔。用户之间的一致属性应该是属性,其他属性应该是声明,以避免非规范化。例如,如果我想向用户添加配置文件图片,我会使用add a property,因为它适用于每个用户?你会使用索赔的其他例子是什么?