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 

 

posted @ 2019-03-08 11:05  生命不息bug不止  阅读(346)  评论(0编辑  收藏  举报