实体框架6.1.2中基于代码的数据库迁移:如何避免使用powershell命令?

时间:2015-05-08 08:55:10

标签: c# entity-framework entity-framework-6 database-migration

我正在使用EF 6.1.2来进行基于代码的数据库迁移,我们需要执行一些命令。这些是:Add-MigrationUpdate-Database。我希望在生产环境中进行此迁移。那么有没有办法在Update-Database中避免Package Manager Console命令并使用C#API来做同样的事情? 我不能在生产环境中使用Update-Database命令。我想在c#中使用它。

1 个答案:

答案 0 :(得分:1)

有一个明显的替代方案,您可以为此特定数据库上下文设置MigrateDatabaseToLatestVersion

这样,当对数据库执行第一个查询时,迁移会自动发生。您甚至可以使用单独的命令行工具执行相同操作,但在应用程序之前,在生产环境中按需执行(而不是在应用程序执行第一个查询时)。

初始化程序很简单易用,只需调用:

Database.SetInitializer(
           new MigrateDatabaseToLatestVersion<YourContext, Configuration>());

其中Configuration是保留迁移配置的类。