سؤال

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