实体框架迁移已停止检测POCO更新

Sta*_*ker 36 migration entity-framework ef-code-first ef-migrations

我正在使用Entity Framework和Entity Framework迁移来实现使用代码优先和自动迁移的解决方案.

它过去工作得很好但突然停止检测我对POCO的更新.现在,当我添加一个新属性(非常简单的属性,如年龄或电子邮件)并执行时Update-Database,没有任何反应,它给了我这个:

指定'-Verbose'标志以查看迁移期间正在执行的SQL命令.
找到0个待定的显式迁移:[].
添加种子数据(如果在"迁移设置"类中重写了种子方法).

什么都没有更新!

有谁知道为什么会这样?

Ole*_* G. 2

这可能有两个原因:

  1. 代码中还有一些其他 DbContext,这就是自动迁移无法决定使用哪个上下文的原因。
  2. 有一些新的更改,它循环比较架构和代码模型,因此 EF 根本找不到差异。

一般来说,自动迁移实现起来简单且快速,但使用它们并不安全。在某些阶段,此类迁移可能会失败。

几年前,我开发了基于 Linq2SQL、AcroDB Library 的微型 ORM ,它使用了SubSonic的自动迁移。与 EF 迁移现在可以做的几乎相同。它对于小型项目和需要处理或更改的少量数据来说是完美的,但是当项目增长到 15 个以上的表时,它就变成了一场噩梦。这就是微软最近宣布代码驱动迁移的原因。他们对项目更有保障,也更好。另外,您还可以看看Migrator.Net(此时它比 EF 好一点)。