在Abp框架中使用Mysql数据库的方法以及相关问题小记
Posted 耕田日记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Abp框架中使用Mysql数据库的方法以及相关问题小记相关的知识,希望对你有一定的参考价值。
最近发现了一款DDD的框架
看起来不错,据说挺流弊的
刚好最近要弄点小东西,拿来试试也不错
苦于穷逼买不起高配服务器,只好装mysql数据库了
下面说下如何在该框架下使用Mysql数据库
打开项目后,在“程序包管理器控制平台”中选择*.EntityFramwork以及*.Web项目(*号为你的项目名称前缀)
Install-Package MySql.Data.Entity // Install-Package MySql.Data.Entity - 安装MySql.Data.Entity组件的命令
输入以上语句安装Mysql的相关组件
然后更改连接字符串
<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" />//这里可以看到以及自动为我们引用了mysql的相关项 <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=sampledb;uid=root;password=root" /> </connectionStrings>
然后在“程序包管理控制平台”更新数据库
Update-Database –Verbose
至此,我们就可以使用该项目连接mysql数据库了
实践之中,经常会出现一些想不到的问题
这里记下我自己遇到的几个小问题
1、更新数据库时提示“Specified key was too long; max key length is 767 bytes”
这个问题一般是由于(我认为,欢迎dalao指导)数据库生成器配置不正确导致的,MSSql的相关配置在Mysql里并不是全部适用
这时需要在Dbcontext类上指定生成器的类型
[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))] public class MyContext : DbContext{}
这里的MyContext为你的EF相关类
2、忘了,想起来再写吧
以上是关于在Abp框架中使用Mysql数据库的方法以及相关问题小记的主要内容,如果未能解决你的问题,请参考以下文章
ABP开发框架前后端开发系列---ABP基础接口处理和省份城市行政区管理模块的开发