• 在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、Unknown storage engine 'InnoDb'

    这种情况就比较少见了

    这是mysql默认引擎未开启InnoDb导致的

    需要更改一下mysql的相关配置

    有两种解决方法:

            方法一.修改my.ini文件,把skip-innodb这行注释掉
            方法二.修改my.ini文件,default-storage-engine=InnoDb

  • 相关阅读:
    文件上传中的错误文件上传及其命名
    播放音乐
    文件的读取与写入ASP.NET中常用代码之四(转载)
    Spring中文在线文档
    Css 图形
    离职进行时
    又面试了
    在Spring应用中创建全局获取ApplicationContext对象
    开始研究WEKA,一个开源java的数据挖掘工具
    收到SZ科技的录取通知,纠结是不是要去
  • 原文地址:https://www.cnblogs.com/ixysy/p/6219719.html
Copyright © 2020-2023  润新知