相关疑难解决方法(0)

你觉得你的主键怎么样?

在我的团队的一个相当生气勃勃的讨论中,我被认为是大多数人喜欢的主键.我们有以下小组 -

  1. Int/BigInt哪个自动增量是足够好的主键.
  2. 应该至少有3列构成主键.
  3. Id,GUID和人类可读行标识符都应该区别对待.

什么是PK的最佳方法?如果你可以证明你的意见,这将是很棒的.上面有没有更好的方法?

编辑:任何人都有一个简单的样本/算法来生成可扩展的行的人类可读标识符?

algorithm ddl database-design primary-key relational-database

85
推荐指数
11
解决办法
2万
查看次数

为什么ASP.NET Identity 2.0使用GUID /字符串作为用户ID?

正如标题所说,我想知道为什么ASP.NET Identity 2.0使用带有GUID的字符串作为用户表的主要群集密钥.这对整数id有什么好处吗?我只看到问题,GUID不是聚簇索引的最佳选择.

我错过了什么或者整数仍然是更好的选择吗?

c# asp.net asp.net-identity

28
推荐指数
2
解决办法
9994
查看次数

如何使EF-Core为其ID /主键使用Guid而不是String

当我查看ASP.NET 3 Identity时,它使用a string而不是a Guid用于唯一主键.

在我的Entity Framework code first用户ApplicationUser类中,我继承了Identity类

public class ApplicationUser : IdentityUser
{
}
Run Code Online (Sandbox Code Playgroud)

这导致在我创建实体框架迁移时aspnetusers,使用密钥类型nvarchar(450)而不是创建的表创建uniqueidentifier

当我将它与ASP.NET Identity 2 ENtity Framework项目进行比较时,它创建了一个ID字段uniqueidentifier而不是nvarchar(450)

我会想象对于数据库性能主键和外键uniqueidentifier会更好nvarchar(450)

有没有办法用于唯一键Guid而不是用stringuniqueidentifier不是nvarchar(450)ASP.NET Identity 3

先前有一个问题如何将String转换为Guid,但我希望数据库表Id是Guid.

当长度为nvarchar(128)时,我发现了以前的BETA的另一个问题.给出的理由是并非所有数据库都支持Guids,并且它的灵活性也发生了变化.

是否必须有一种简单的方法从字符串更改为Guid而不重写整体identity 3

nvarchar(450)在创建SQL Server数据库约束时,实际上是过度杀伤并提供各种警告.数据库管理员肯定不会喜欢这些警告.

c# asp.net-identity entity-framework-core asp.net-identity-3 asp.net-core

21
推荐指数
2
解决办法
2万
查看次数