EF Code First - 缓存的迁移数据?

时间:2015-02-02 22:03:29

标签: c# entity-framework ef-code-first ef-migrations

Entity Framework Code First Migration是否将其迁移数据存储在目标数据库和Migrations文件夹以外的任何其他位置?

我有一个奇怪的场景,我已经添加了一个全新的.NET模型类,并将其添加到我的datacontext中 - 但由于某种原因,当我这样做时它没有被添加到生成的DbMigration中Add-Migrations。好像EF认为它已经存在了。什么证实了我怀疑EF认为它已经存在,如果我在我的新.NET类中注释掉一些属性,生成的DbMigration会包含对DropColumn的调用以删除这些属性!我不明白这一点,因为我已经完全删除了目标数据库,并删除了与该类有关的任何迁移文件。我不明白EF是如何知道那些属性的。

我在运行Update-DatabaseAdd-Migration时尝试显式指定连接字符串,以确保它没有连接到某个地方的另一个数据库副本。尽管如此,这并没有什么不同。

EF是否在某处缓存数据?这些信息是否存在其他地方?

1 个答案:

答案 0 :(得分:1)

我相信这就是答案; https://stackoverflow.com/a/25432088/1087768

基本上,我为使其重新运行而做的是删除数据库和迁移文件,并使用Add-Migration重新创建迁移文件。然后Update-Database应该按预期工作。