使用MigrationHistory检测实体框架模型对于数据库是否太旧 [英] Detect if Entity Framework model is too old for database using MigrationHistory

查看:20
本文介绍了使用MigrationHistory检测实体框架模型对于数据库是否太旧的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们从手动编写数据库迁移代码切换到代码优先的实体框架迁移。在我们的旧设置中,我们能够检查数据库是否太新。这一点很重要,因为它可能会不兼容。遗憾的是,我找不到一种很好的方法来检查当前数据库是否最新或是否太旧。

使用案例是,客户的计算机上有两个版本的我们的软件。客户端首先启动包含比旧版本更新的迁移的最新版本。之后,客户端启动较旧版本的软件。当前软件将崩溃并烧录,因为模型不兼容。

推荐答案

您可以使用

DbMigrator.GetPendingMigrations

检查数据库是否同步

您可以使用

DbMigrator.GetDatabaseMigrations

检查已将哪些迁移应用到目标数据库。

然后根据需要运行挂起的迁移:

var configuration = new Configuration();
var migrator = new DbMigrator(configuration);
migrator.Update();

http://romiller.com/2012/02/09/running-scripting-migrations-from-code/

这篇关于使用MigrationHistory检测实体框架模型对于数据库是否太旧的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆