实体框架5首先将newsequentialid()编码为PK

Rog*_*Far 7 c# entity-framework newsequentialid

如何newsequentialid()在PK列中使用默认值?

我有这个注释:

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
Run Code Online (Sandbox Code Playgroud)

但是这会产生随机的guid,我希望有顺序的guid.

我可以手动将数据库设置newsequentialid()为默认值,但是没有更好的选择吗?或者EF团队忘记了这个选项?

Lad*_*nka 15

如果您正在使用迁移,则应该能够简单地修改基于代码的迁移以newsequentialid()用作迁移DefaultValueSql.

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

如果您不使用迁移,请检查此问题.