如何首先使用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的人来说)这是不可能的。
如果有人知道我遗失的事情,请告诉我!感谢。