使用SQL Azure和EF Code First设置Identity Seed

时间:2014-06-06 18:20:52

标签: entity-framework ef-code-first azure-sql-database ef-migrations

如何首先使用EF代码创建实体,以生成具有特定标识种子的表。在这种情况下,我需要种子为100。

我尝试将以下代码注入初始迁移:

Sql("DBCC CHECKIDENT ('MyTable', RESEED, 100)");

update-database命令提醒我" DBCC命令' CHECKIDENT'此版本的SQL Server"不支持,向我建议SQL Azure不支持CHECKIDENT。

有谁知道如何使用数据注释,流畅的迁移api或直接通过SQL设置新表的种子?

编辑***

这是对下面问题的重述,但面向SQL Azure: EF Code First - how to set identity seed?

独立于目标数据库技术,我希望看到一个更简单的解决方案,例如:

//EF Code First data annotation
//KeyAttribute would have to be unsealed
public class PrimaryKeyAttribute : KeyAttribute
{ 
     public int Seed { get; private set; }
     public int Increment { get; private set; }
     public PrimaryKeyAttribute(int seed = 1, int increment = 1)
     {
         this.Seed = seed;
         this.Increment = increment;
     }
}

//Entity Primary Key Property
[PrimaryKey(100, 1)]
public int ID { get; set; }

我已经搜索过,但我找不到这样的东西。

我甚至接受对DatabaseGeneratedAttribute进行某种修改:

//Entity Primary Key Property
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity, 100, 1)]
public int ID { get; set; }

显然(对于使用过DatabaseGeneratedAttribute的人来说)这是不可能的。

如果有人知道我遗失的事情,请告诉我!感谢。

0 个答案:

没有答案