【发布时间】:2018-07-04 22:05:20
【问题描述】:
ASP.NET 核心的默认实现使用Guid 作为用户和角色表的主键。
我担心的是,在数据库设计过程中,开发人员经常需要将实体与用户 ID 作为外键链接,例如添加 ModifiedBy 和 CreatedBy 列进行审计,在这种情况下,外键将在执行JOINs 和其他类型的查询时,成为nvarchar(450) 与int 主键相比效率远远不够。
我知道我可以将身份核心配置为使用自定义主键类型,例如 int,但出于安全考虑,我是否应该坚持使用默认配置(我不是安全专家)?
与int 外键相比,字符串外键上的JOINs 不是非常慢(加上主键是nvarchar,这使得情况更糟)?
P.S:我一般不会在 ASP.NET 核心的上下文之外使用代码或 EF
【问题讨论】:
标签: asp.net-core .net-core asp.net-identity entity-framework-core