使用PowerShell脚本中的migrate.exe

时间:2015-12-04 18:53:26

标签: entity-framework ef-migrations

作为我的持续集成流程的一部分,我需要将EntityFramework生成的最新迁移应用于数据库。

经过一些研究后,我了解到我可以使用以下脚本来实现这一目标。

#copy migrate.exe to path\to\project\binfolder
Copy-Item packages\EntityFramework*\tools\migrate.exe path\to\project\binFolder

#apply latest migration
path\to\project\binFolder\migrate.exe pathto\projectGenerated.dll /startupConfigurationFile = "pathTo\Web.config"

我将其保存在文件中并使用power shell运行它。

我在web.config文件中有两个连接字符串,如下所示

<connectionStrings>
<add name="firstConnName" connectionString="connectionstring" providerName="System.Data.SqlClient" />
<add name="secondConnName" connectionString="connectionstring" providerName="System.Data.SqlClient" />

在代码中我有以下内容,以便实体框架使用secondConnName

public partial class myContext : DbContext
{
    static myContext()
    {
        Database.SetInitializer<repreeContext>(null);
    }

    public myContext()
        : base("Name=secondConnName")
    {
        Configuration.ProxyCreationEnabled = false;
    }

...

我在上面运行了powershell脚本,这是我得到的错误

System.Data.Entity.Migrations.Design.ToolingException:没有名为'secondConnName'的连接字符串可能是 在应用程序配置文件中。    在System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner)    在System.Data.Entity.Migrations.Design.ToolingFacade.Update(String targetMigration,Boolean force)    在System.Data.Entity.Migrations.Console.Program.Run()    在System.Data.Entity.Migrations.Console.Program.Main(String [] args)

错误:在。中找不到名为'secondConnName'的连接字符串 应用程序配置文件。

使用EntityFramework 5.0和Powershell 4.0

知道我哪里出错了吗?

感谢您的帮助

0 个答案:

没有答案