ABP中使用MySql数据库

Posted 于某人的于呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABP中使用MySql数据库相关的知识,希望对你有一定的参考价值。

一:卸载Sql Server的Nuget包

打开程序包管理器控制台(工具→Nuget 包管理器→程序包管理器控制台),修改默认项目为.EntityFrameworkCore

然后依次执行: 

uninstall-package microsoft.entityframeworkcore.design
uninstall-package microsoft.entityframeworkcore.sqlserver

二:安装mysql的Nuget包

右键点击.EntityFrameworkCore项目选择管理Nuget程序包,浏览搜索 Pomelo.EntityFrameworkCor,安装microsoft.entityframeworkcore.MySql和microsoft.entityframeworkcore.design 

注意根据core版本选择

 三:更改DbContextConfigurer文件

using System;
using System.Data.Common;
using Microsoft.EntityFrameworkCore;

namespace MyProduct.EntityFrameworkCore

    public static class MyProductDbContextConfigurer
    
        public static void Configure(DbContextOptionsBuilder<MyProductDbContext> builder, string connectionString)
        
            //原来的
            //builder.UseSqlServer(connectionString);
            //修改后
            builder.UseMySql(connectionString, new MySqlServerVersion(new Version(8, 0, 11)));
        

        public static void Configure(DbContextOptionsBuilder<MyProductDbContext> builder, DbConnection connection)
        
            //原来的
            //builder.UseSqlServer(connection);
            //修改后
            builder.UseMySql(connection, new MySqlServerVersion(new Version(8, 0, 11)));
        
    

 四.修改数据库连接字符串

 1.修改.Migrator项目里面的appsettings.json链接字符串


  "ConnectionStrings": 
    //Trusted_Connection=True切换成mysql要去掉,不然报错未授权
    //"Default": "Server=localhost; Database=DouhuiSmartDb; Trusted_Connection=True;"
    "Default": "Server=localhost;Port=3306; Database=数据库名称;Uid=数据库登录名(默认root);Pwd=密码;"
  

2.修改.Host项目里面的appsettings.json链接字符串


  "ConnectionStrings": 
    //Trusted_Connection=True切换成mysql要去掉,不然报错未授权
    //"Default": "Server=localhost; Database=DouhuiSmartDb; Trusted_Connection=True;"
    "Default": "Server=localhost;Port=3306; Database=数据库名称;Uid=数据库登录名(默认root);Pwd=密码;"
  

五:执行add-migration命令

在执行 add-migration时要先删除.EntityFrameworkCore下面Migrations文件夹里面的所有东西

注:查询了很多文档,如有侵权,请留言删除

以上是关于ABP中使用MySql数据库的主要内容,如果未能解决你的问题,请参考以下文章

在ABP模板工程中使用MySQL

ABP中使用MySql数据库

abp vNext 使用Mysql 数据库

Abp vNext 使用Mysql数据库

在Abp框架中使用Mysql数据库的方法以及相关问题小记

使用ABP EntityFramework连接MySQL数据库