繁体   English   中英

实体框架:将迁移类移动到迁移文件夹后,从挂起的显式迁移列表中丢失迁移类

[英]Entity Framework: Migration classes missing from list of pending explicit migrations after moving them to the migrations folder

我继承了一个设置为使用实体框架在新数据库上设置数据库架构的项目。

该项目最初有两个不同的文件夹——默认的 /Migrations 文件夹和另一个文件夹——带有DbMigration类。 我已经感动了所有的这些到一个文件夹,使用单个的意图MigrateDatabaseToLatestVersion与自定义派生类的沿DbMigrationsConfiguration在同一时间一起运行。

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

所以,我的问题是:为什么我从其他地方移动到我的 /Migrations 文件夹中的DbMigration类没有包含在运行Update-Database时正在运行的待处理显式迁移列表中?

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

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

这样做之后,移动的迁移类成功地开始被实体框架包含在我运行Update-Database时要应用的待处理显式迁移列表中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM