ABP中把EF访问sql server改为mysql

版权声明:.net/web/医疗技术的木子纵横的个人分享 https://blog.csdn.net/muzizongheng/article/details/85164603
  1. 在EntityFramewor和Web工程中通过nuget添加mysql.data.entity引用, 默认最新的是6.10。4

  2. 在web工程的web.config文件中更改连接字符串为mysql, 如下:

            <connectionStrings>

        <add name="Default" connectionString="Server=localhost;port=3306;Database=AbpDemo;uid=root;password=111111" providerName="MySql.Data.MySqlClient" />

      </connectionStrings>

  1. 在EntityFramework工程里的Configuration类中添加mysql的迁移支持:

        SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());   

  1. 在Package Manager Console执行update-database命令,

        报错

        

        解决办法是:  用nuget把entityFramework和web工程中的mysql.data.entity降级为6.9.10. 

  1.  重新在Package Manager Console运行update-database,

        报错

        

        解决办法是: 在EntityFramework工程里的xxxDbContext类头添加[DbConfigurationType(typeof(MySqlEFConfiguration))]属性。

        例如:

        

  1. 重新在Package Manager Console中运行update-database, 成功。

        

参考:https://aspnetboilerplate.com/Pages/Documents/EF-MySql-Integration

猜你喜欢

转载自blog.csdn.net/muzizongheng/article/details/85164603
今日推荐