如何在pk列中使用newsequentialid()作为默认值?
我有这样的注解:

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]

但这将生成随机的guid,我希望有顺序的guid。
我可以手动将数据库设置为newsequentialid()作为默认值,但是没有更好的选项吗?还是英孚团队忘记了这个选择?

最佳答案

如果您使用的是迁移,那么您应该能够简单地修改基于代码的迁移,将newsequentialid()用作DefaultValueSql

public override void Up() {
    CreateTable(
        "SomeTable",
         c => new {
            Id = c.Guid(nullable: false, defaultValueSql: "newsequentialid()"),
         })
         .PrimaryKey(t => t.Id)
    );
}

如果不使用迁移,请检查question

07-27 20:22