[英]Set up database creation/migrations from code for Entity Framework 6 + MySQL
[英]Entity Framework: How to set up new database connection and run all migrations?
我使用实体框架代码优先开发了一个 WPF 应用程序和一个本地 SQL 服务器数据库。
用app.config
中的新连接字符串替换旧连接字符串后,如何运行所有迁移到新的远程数据库?
我是否需要使用app.config
中的 Entity Framework 标签更改任何内容?
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient"
type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
为了更清楚:我的问题是,现在如果我运行Update-Database
,我希望它运行它在新定义的数据库服务器上找不到的所有迁移,这应该是新服务器上尚不存在的所有迁移。 相反,我得到的是:
PM> Update-Database
No pending explicit migrations.
因此,即使我替换了连接字符串,它仍然会查看旧数据库。
自己发现了问题。 我最初声明我的 DbContext class 和构造函数的方式如下:
public class MyContext : DbContext
{
public MyContext : base()
{ }
}
显然,EntityFramework 会自动从app.config
中找到连接字符串。 但是,当我更改该连接字符串时,即使我没有更改其名称,EF 也不会自行应用该更改。 所以我将构造函数更改为
public MyContext : base("mycn") // unchanged name of the connection string
{ }
只有到那时它才应用更改。 对我来说有点奇怪,但是呃......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.