实体框架:将移动类迁移到迁移文件夹后,尚未显示迁移类

时间:2015-10-27 13:33:25

标签: c# .net entity-framework

我继承了一个项目,该项目设置为使用Entity Framework在新数据库上设置数据库模式。

项目最初有两个不同的文件夹 - 默认/ Migrations文件夹,另一个文件夹 - 带有DbMigration类。我已将所有这些内容移动到一个文件夹中,目的是使用单个MigrateDatabaseToLatestVersion和自定义派生类DbMigrationsConfiguration同时将它们一起运行。

但是,当我针对新的(空白)SQL Server数据库运行Update-Database命令时,原来不在/ Migrations文件夹中的迁移根本不会显示在“明确应用”列表中迁移“实体框架试图运行。

所以,我的问题:为什么我运行DbMigration时运行的挂起显式迁移列表中包含的Update-Database类从我的其他位置迁移到my / Migrations文件夹?

1 个答案:

答案 0 :(得分:2)

经过大量的试验和错误后,问题变成了我从其他地方移动到main / Migrations文件夹的DbMigration类是不同命名空间的成员。

我将这些类(手动创建的DbMigration类文件及其相应的自动生成的* .Designer.cs文件)更改为与现有DbMigration类相同的命名空间。 / Migrations文件夹。

执行此操作后,已移动的迁移类成功开始被Entity Framework包含在我运行Update-Database时要应用的待定显式迁移列表中。