在ASP.NET Identity Core中,我可以更改UserToken主键

时间:2017-01-09 14:42:27

标签: c# asp.net entity-framework asp.net-identity claims-based-identity

Identity为我生成UserToken表(代码优先)。我不喜欢它使用3部分主键,并且没有指定的UserTokenId列。

App

是否可以更改(在我的C#项目代码中)表只使用一个id列作为主键?或者在这种情况下它实际上是一种好的做法吗?

我已经阅读了很多关于如何更改用户表中的id数据类型的说明,但情况有点不同。

1 个答案:

答案 0 :(得分:1)

您可以通过创建IDENTITY列并在相关的三列上创建UNIQUE索引来手动更改表结构...

但是出于什么原因?

识别框架将始终基于三个值元组查找数据,而不是基于不反映任何实际数据的人工主键。

如果此值用作另一个表的引用,则标识列可能有意义,在这种情况下,可能有理由使用简单的外键而不是三个值元组。

如果你仍然不相信它会离开桌子:-):

如果要自定义ASP.NET标识使用的表/数据库布局,this post可能是一个很好的起点(请注意,此帖子基于ASP.NET核心标识)。

背景:ASP.NET基于分层方法,其中用于保存有关ASP.NET标识信息的信息的存储在ASP.NET标识框架内是separate module

您可以将此作为使用自己的数据库模型创建自己的持久层的起点。