Entity Framework 5 code first newsequentialid() as PK
Asked Answered
S

1

7

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?

Showman answered 22/10, 2012 at 13:3 Comment(0)
P
15

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.

Pastose answered 22/10, 2012 at 14:56 Comment(1)
i had to add Key and DatabaseGenerated comma seperated to make it work, if they are added seperately, then it not worksCaldwell

© 2022 - 2024 — McMap. All rights reserved.