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 に答える