【发布时间】:2015-03-07 22:26:22
【问题描述】:
我见过 this 和 this 。我只是希望为我的代码优先 (EF6.1) 表的 ID 列设置起始值。现在我可以做到了
public class CustomInitializer : CreateDatabaseIfNotExists<FormsDbContext>
{
protected override void Seed(FormsDbContext context)
{
context.Database.ExecuteSqlCommand("DBCC CHECKIDENT ('MyTable', RESEED, 1000)");
}
}
但由于我有很多很多的桌子,我觉得很奇怪(而且感觉几乎是错误的)我不得不为所有这些重复上面的行。我还没有找到任何使用 fluent configuration 的方法。这是做种子的正确方法吗?
谢谢
【问题讨论】:
-
如果您想重置所有内容,为什么不删除并重新创建数据库?
-
但我会丢失所有数据。我不想丢失数据。我只希望我的所有列 ID 都以开始,例如 5000
-
您可以获取上下文中所有表的名称并为它们执行命令。
-
thx,是的,我可以,但这意味着很多种子行,我的问题是,是否有更简洁的方法来做到这一点
标签: c# entity-framework ef-code-first