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