我正在使用EF 6.1.2来进行基于代码的数据库迁移,我们需要执行一些命令。这些是:Add-Migration
和Update-Database
。我希望在生产环境中进行此迁移。那么有没有办法在Update-Database
中避免Package Manager Console
命令并使用C#API来做同样的事情?
我不能在生产环境中使用Update-Database
命令。我想在c#中使用它。
答案 0 :(得分:1)
有一个明显的替代方案,您可以为此特定数据库上下文设置MigrateDatabaseToLatestVersion
。
这样,当对数据库执行第一个查询时,迁移会自动发生。您甚至可以使用单独的命令行工具执行相同操作,但在应用程序之前,在生产环境中按需执行(而不是在应用程序执行第一个查询时)。
初始化程序很简单易用,只需调用:
Database.SetInitializer(
new MigrateDatabaseToLatestVersion<YourContext, Configuration>());
其中Configuration
是保留迁移配置的类。