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

时间:2012-10-22 13:03:56

标签: c# entity-framework newsequentialid

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

我有这个注释:

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]

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

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

1 个答案:

答案 0 :(得分:15)

如果您使用迁移,则应该只需修改基于代码的迁移即可将newsequentialid()用作DefaultValueSql

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

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

相关问题