entity framework迁移停止检测POCO更新

我正在使用entity framework和entity framework迁移来实现使用代码优先和自动迁移的解决scheme。

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

指定'-Verbose'标志来查看迁移过程中正在执行的SQL命令。
find0等待显式迁移:[]。
添加种子数据(如果在迁移设置类中重写了Seed方法)。

没有更新!

有没有人知道为什么会发生这种情况?

这可能有两个原因:

  1. 代码中还有一些DbContext,这就是自动迁移无法确定的原因,以及使用哪种上下文。
  2. 有一些新的变化,循环模式和代码模型的比较,所以EF根本找不到差异。

一般来说,自动迁移很简单,实施起来很快,但是使用它们是不安全的。 在某个阶段,这样的迁移可能会失败。

几年前,我开发了基于Linq2SQL, AcroDB Library的小型ORM,并使用了SubSonic的 自动化 。 与EF迁移现在可以做的几乎相同。 对于小型项目和less量的数据处理或更改是完美的,但是当项目已经发展到15个以上的表格时,就成了一场噩梦。 这就是为什么MS最近宣布了代码驱动的迁移 。 他们更安全,更好的项目。 另外,你可以看一下Migrator.Net ( 到目前为止比EF好一点)。