在ABP模板工程中使用MySQL

1 下载一个新的ABP模板项目

http://www.aspnetboilerplate.com/  

2 在Windows上安装MySql, 这里不多说,我用的是mysql-installer-5.5.21.0

3 打开模板项目,还原NuGet包先

打开项目后,在“程序包管理器控制平台”中选择*.EntityFramwork以及*.Web项目(*号为你的项目名称前缀)

Install-Package MySql.Data.Entity // Install-Package MySql.Data.Entity   - 安装MySql.Data.Entity组件的命令

安装Web项目时失败,错误提示信息

 

我用的VS2015,后来在一篇英文帖子里发现方法:

1)、在资源管理器中打开你的项目所在的文件夹。用记事本打开packages.config。查找并移除损坏包名称的行。

2)、打开解决方案所在的文件夹。打开文件夹“packages”。查找带有损坏包的文件夹并将其删除。

重新安装,提示成功

 4 修改web.config文件

<entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices,MySql.Data.Entity.EF6" />
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices,EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
  
<connectionStrings>
<add name="Default" providerName="MySql.Data.MySqlClient" connectionString="server=localhost;port=3306;database=***;uid=root;password=***" />
</connectionStrings>

5 然后在“程序包管理控制平台”更新数据库

  • 把Web项目作为启动项
  • 打开程序包管理器控制台,把EntityFramework作为默认项目
Add-Migration ‘是生成文件的后类名’

会报错

需要到EntityFramework项目下找到DbContext类,类上加注释[DbConfigurationType(typeof(MySqlEFConfiguration))],如图

重复Add-Migration,然后执行Update-Database命令

Update-Database –Verbose

至此,我们就可以使用该项目连接mysql数据库了

生成完后会在mysql创建对应数据库,运行下

 

相对来说用Microsoft SQL Server会简单很多,从第五步执行命令开始就可以了

收工

原文地址:https://www.cnblogs.com/flywei/p/6433535.html