我正在写一个简单的CMS over ASP.NET MVC框架(对于大学期末项目).my的问题是与模块的数据迁移strategy.as每个模块将更新数据库模式当它安装时,一个数据库迁移机制必须在模块安装system.ok,data-migration在实体框架中已经有(感谢MS),但迁移命令运行在包管理器console.is中有没有办法以编程方式运行Data-Migration代码?任何帮助都是非常感谢的。
发布于 2012-11-12 19:33:50
这个类在代码中公开EF迁移:
System.Data.Entity.MigrateDatabaseToLatestVersion
在EF中,迁移工作在整个数据库上-而不是一个数据库的模块部分。
我也发现了这个类:
System.Data.Entity.Migrations.DbMigrator
发布于 2013-05-04 00:42:46
如果您已经在包管理器控制台中启用了自动迁移,则可以在应用程序的初始化部分使用以下代码(例如,在SimpleMembershipInitializer中):
var migratorConfig = new Migrations.Configuration();
var dbMigrator = new DbMigrator(migratorConfig);
dbMigrator.Update();其中,Migrations.Configuration是放置在项目中到名称空间(YourProjectNamespace.Migrations)的迁移配置类。
如果你以编程方式使用它,你应该首先关闭EF初始化器:
Database.SetInitializer<YourDBContext>(null);问题是,如果数据库不存在,编程式更新会创建一个数据库。
https://stackoverflow.com/questions/13342516
复制相似问题