C# 实体框架5将第一个newsequentialid()编码为PK

C# 实体框架5将第一个newsequentialid()编码为PK,c#,entity-framework,newsequentialid,C#,Entity Framework,Newsequentialid,如何使用newsequentialid()作为PK列中的默认值 我有这样的注解: [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] 但这将生成随机guid,我希望有顺序guid 我可以手动将数据库设置为默认值newsequentialid(),但是没有更好的选项吗?或者EF团队忘记了这个选项了吗?如果您正在使用迁移,您应该能够简单地修改基于代码的迁移,以使用newsequentialid()作为DefaultValueSql

如何使用
newsequentialid()
作为PK列中的默认值

我有这样的注解:

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
但这将生成随机guid,我希望有顺序guid


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

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

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

如果不使用迁移,请检查此项

我必须添加键和数据库生成的逗号分开才能使它工作,如果它们分开添加,那么它就不工作了