作为我的持续集成流程的一部分,我需要将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
知道我哪里出错了吗?
感谢您的帮助