Вопрос

How can I use newsequentialid() as default value in the PK column?

I have this annotation:

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]

But this will generate random guid's I would like to have sequential guid's.

I can set by hand the database to newsequentialid() as default value, but is there no better option? Or did the EF team forget about this option?

Это было полезно?

Решение

If you are using migrations you should be able to simply modify code based migration to use newsequentialid() as DefaultValueSql.

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

If you are not using migrations check this question.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top