2

I thought I figured it out when I disabled AutomaticMigrations.

I Update-Database then Add new column name to DAL class.

Then execute Add-Migration

But I am caught in a loop of nonsense.

I execute Update-Database and am treated to ... Applying explicit migrations: [a list of the current migrations].

then this line for each migration. Applying explicit migration: [id]

Then it warning me that the model is NOT up to date. So I execute Add-Migration and get the error... Unable to generate an explicit migration because the following explicit migrations are pending: [the same list I just saw applied]

WTF?

4

1 回答 1

1

我通过以下步骤解决了这个问题。

  1. 删除 DAL 项目正在更新的数据库文件。
  2. 删除有问题的迁移。// 注释掉有问题的列或表。
  3. 执行更新数据库。
  4. 取消注释更改。
  5. 添加迁移
  6. 更新数据库
  7. 运行时检查。
  8. 报到

如果你遇到这个问题,祝你好运。

当我添加显式调用初始化程序以加快启动时间的代码时,我进一步遇到了问题。然后每当我做一个更新数据库......它会使用我的上下文类,尝试做初始化程序并失败。

Code-First 是朝着正确方向迈出的良好一步,但它有所有这些要小心的场景。

于 2013-11-05T16:40:48.577 回答