Bri*_*nga 2 entity-framework ef-code-first ef-migrations
使用Entity Framework 5.0,我试图在我的MVC站点的启动例程中手动迁移我的代码优先数据库.为此,我首先创建一个DbContext实例,然后运行以下代码:
var migrator = new MigrateDatabaseToLatestVersion<DataContext, Configuration>();
migrator.InitializeDatabase(this.dataContext);
Run Code Online (Sandbox Code Playgroud)
我假设与dataContext的连接关联的数据库将是迁移的数据库.尽管事实并非如此.相反,它总是尝试在本地SQLExpress实例上迁移数据库.
MigrateDatabaseToLatestVersion构造函数存在重载,它接受数据库连接字符串名称,但我的项目使用的是Azure,并且不使用标准的ConnectionStrings配置部分.理想情况下,我只是传递一个连接字符串,我可以使用它.这可能吗?
解决方案是完全绕过MigrateDatabaseToLatestVersion类.它只是DbMigration类的一个薄包装器,如源代码所示.
最后,我写了以下代码:
var database = this.dataContext.Database;
var migrationConfiguration = new Configuration();
migrationConfiguration.TargetDatabase = new DbConnectionInfo(database.Connection.ConnectionString, "System.Data.SqlClient");
var migrator = new DbMigrator(migrationConfiguration);
migrator.Update();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1515 次 |
| 最近记录: |