我们现在正在使用Entity Framework代码首次迁移技术。一切都运行良好但是我们的迁移文件夹由于我们对实体模式所做的更改而在大量迁移文件中变得越来越大。我很好奇,有没有一种方法,只要实体发生变化,我们就可以更新一个或特定数量的文件,这样我们的Migrations文件夹看起来就不那么混乱了。此外,我不想删除表并重新创建它,因为我将丢失所有已保存的数据。
答案 0 :(得分:3)
您可以简单地将所有迁移合并到一个新文件中(如果您不关心每次迁移)。
要执行此操作,只需删除文件夹中当前的每个迁移,然后重新运行enable-migrations命令,然后重新运行add-migration命令。
Enable-Migrations
add-migration InitialCreate
答案 1 :(得分:0)
您可以尝试使用名为MigrateDatabaseToLatestVersion的数据库初始化程序。当模型更改时,它会自动更新数据库模式,而不会丢失任何现有数据或其他数据库对象。
Database.SetInitializer(
new MigrateDatabaseToLatestVersion<YourDbContext,
DataLayer.Migrations.Configuration>());