我可以从我的代码运行Package Manager Console吗?

时间:2014-05-28 04:17:30

标签: ef-code-first visual-studio-2013 entity-framework-6

我使用Code First Migrations,它需要从Package Manager Console运行命令来更新模型。我想从我的代码中运行它:

示例:ExcuteCommand(" Update-Package")。我能这样做吗?

1 个答案:

答案 0 :(得分:0)

是的,您可以执行Update-Package命令,因为它是可以从C#执行的PowerShell脚本。你可以在这里找到一个很好的描述:http://www.codeproject.com/Articles/18229/How-to-run-PowerShell-scripts-from-C

然而,您所寻找的并不是从代码运行更新命令,而是从代码更新数据库,这可以通过使用DbMigrator类更好地实现:

var migrationsConfiguration = new Configuration();
migrationsConfiguration.TargetDatabase = new DbConnectionInfo(
    "Server=TestServer;Database=TestDatabase;Trusted_Connection=True;",
    "System.Data.SqlClient");

var dbMigrator = new DbMigrator(migrationsConfiguration);
dbMigrator.Update();