如何在不影响数据库的情况下删除种子?

How to remove seed without it having any effect on database?

在我的项目中,我使用种子来添加一些 data.My 项目有几个迁移。 当我添加新的迁移时,我的迁移文件非常大,因为它要更新数据库中的所有数据。 当我删除种子并添加新的迁移时,它想从数据库中删除数据。 如何在不对数据库产生任何影响的情况下删除种子?

Entity Framework 生成迁移时只关心模型快照。 我们需要让它认为它实际上更新了数据库,而不是删除记录。

  1. 删除为您的数据库设置种子的代码。
  2. 生成一个新的迁移,它应该有尝试从数据库中删除种子记录的命令。删除那些命令。
  3. 应用(现已失效)迁移

您的模型快照现在是最新的并且没有从数据库中删除任何内容。

如果您生成新的迁移,它应该是空的,这意味着我们的模型快照是真正最新的。