我们最近切换到Entity Framework数据迁移,我正在为我们的MVC应用程序编写一些自动化脚本。如果我有一个Web.config指向,我可以使用4.3中的migrate.exe工具从我们的构建服务器成功运行迁移。命令看起来像:
ProjectName\packages\EntityFramework.4.3.1\tools\migrate.exe MyAssembly /startupdirectory:ProjectName\bin\Debug /startupconfigurationfile:ProjectName\Web.config /verbose
但是,由于各种原因,我希望避免使用Web.config,并在迁移时传递正确的连接字符串:
ProjectName\packages\EntityFramework.4.3.1\tools\migrate.exe MyAssembly /startupdirectory:ProjectName\bin\Debug /connectionString:"Data Source=awesomeserver;Initial Catalog=awesomedatabase;User Id=funkyuser;Password=crazypassword" /verbose
这不行。更糟糕的是,它使用NullReferenceException崩溃migrate.exe。连接字符串与我们在Web.config中使用的连接字符串相同。
以前有人遇到过吗?我的连接字符串格式错了吗?错误?
解决方法
好的,我们搞定了在没有Web.config的情况下运行时,connectionProviderName参数也必须传入:
ProjectName\packages\EntityFramework.4.3.1\tools\migrate.exe MyAssembly /startupdirectory:ProjectName\bin\Debug /connectionProviderName:"System.Data.SqlClient" /connectionString:"Data Source=awesomeserver;Initial Catalog=awesomedatabase;User Id=funkyuser;Password=crazypassword" /verbose
我已经确认这是有效的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。