7

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

我有这个注释:

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]

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

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

4

1 回答 1

15

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

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

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

于 2012-10-22T14:56:48.003 回答