gpt4 book ai didi

c# - Entity Framework 使用 newsequentialid() 作为 Guid Key

转载 作者:太空宇宙 更新时间:2023-11-03 12:20:40 36 4
gpt4 key购买 nike

使用下面的代码,

public class UserProfile
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }

// more properties here
}

我以为 EF 使用的是 newguid(),但是当我检查数据库时,我看到默认值是 newsequentialid()

这是 EF 的默认行为吗?还是因为我使用的是 SQL Server 2017?

最佳答案

你是对的,默认情况下 newsequentialid() 被用作 GUID 属性的默认值。 newsequentialid()newid() 更推荐,主要是出于性能方面的考虑。

如果您想将 newid() 作为默认值,您可以通过启用迁移并在 CreateTable() 中指定 defaultValueSql 来实现:

CreateTable(
"dbo.UserProfiles",
c => new
{
Id = c.Guid(nullable: false, identity: true, defaultValueSql: "newid()"),
Name = c.String(),
})
.PrimaryKey(t => t.Id);

关于c# - Entity Framework 使用 newsequentialid() 作为 Guid Key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47483679/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com