EF6 mysql配置
如何把一个ef项目 从sqlserver改为mysql
首先在引入了ef的层再引入这两个包,注意两个的版本一定要一样,一定要一样,一定要一样,不然就会报错
MySql.Data.Entity目前的最新是6.10.8,但是MySql.Data最新版本已经到了8.0,所以统一采用6.10.8版本
引入之后确认一下web.config中有没有这两段
一般引入后就会自动添加,没有的话就手动加吧
<providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider> </providers>
然后数据库连接串也改下
<connectionStrings> <add name="sqlstr" connectionString="server=localhost;database=db1;user id=root;password=123456789;" providerName="MySql.Data.MySqlClient" /> </connectionStrings>
在你的context类,在上面加上这个特性
[DbConfigurationType(typeof(MySqlEFConfiguration))]
然后迁移一下数据库,试试能不能成功
成功的话就证明配置的没问题
Enable-Migrations Add-Migration Init Update-Database