.NET Core自动生成字符串主键

6

.Net Core 2.2身份认证框架具有自动生成的GUID作为字符串主键。我的问题是如何使用Entity Framework 2.2拥有一个自动生成的字符串主键?


比如生成一个没有任何限制的随机字符串(任意长度、任意字符等)? - Jan Paolo Go
GUID应该是字符串类型,而不是Guid。 - Kok How Teh
如果您知道/希望值为有效的GUID,为什么要将属性类型设置为string而不是Guid - Jan Paolo Go
我需要一个通用的自动生成的VARCHAR主键。GUID是一个很好的选择,但我不想限制为GUID类型。 - Kok How Teh
2个回答

8
您需要将属性 [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 添加到列中。有关更多详细信息,请参见官方文档

这就是诀窍: [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public string ID { get; set; } - Kok How Teh

4
使用Fluent API自动生成主键
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Node>().Property(x => x.ID).HasDefaultValueSql("NEWID()");
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接