ABP框架中使用MySQL数据库

首先说明:本文使用Mysql这块拷贝自:https://blog.csdn.net/tangmou_ren/article/details/84856892,感谢作者。

1.移除SQL Server的Nuget包

打开程序包管理器控制台,并选中xxx.EntityFrameworkCore

执行下面两条命令:

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

2.安装MySQL的Nuget包

执行下面两条命令:

install-package pomelo.entityframeworkcore.mysql.design
install-package pomelo.entityframeworkcore.mysql

3.更改配置文件

在解决方案的EntityFrameCore层找到DbContextConfigurer文件,并做如下修改:

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

在appsetting.json文件中修改数据库连接字符串:

"Default": "Server=localhost;Port=3306;Database=你的数据库名;Uid=数据库用户名;Pwd=密码;"

5.添加数据迁移

先说明下:这个步骤需要先将xxx.Web.Host设为启动项,否则会提示xxx.Web.Host不是启动项错误信息。

删除EntityFrameCore层中Migrations文件夹里的所有文件,别删除Migrations文件夹。

然后重新生成解决方案,接着打开程序包管理器控制台,选中.EntityFrameworkCore,输入以下命令:

Add-Migration Init

此时你的Migrations文件夹里会新增几个文件,接着输入命令:

Update-Database

至此,mysql数据库就会自动生成数据库和响应的表。

 


 

下面说下如何新增表?

提前说明:这块参考自:https://www.cnblogs.com/dacaba/p/9910726.html,感谢作者。

我们是基于CodeFirst开发的。所以需要先定义实体,然后再进行迁移,最终生成表结构。

实体如下:

namespace AbpDemo.Persons
{
    public class Person : FullAuditedEntity
    {
        public string Name { get; set; }
        public int Sex { get; set; }
    }
}

然后再在基础层(EntityFrameworkCore)的类AbpDemoDbContext添加数据集Persons

public DbSet<Person> Persons { get; set; }

最后执行Add-Migration Init xxxx和Update-Database命令就可以了。其中xxxx你可以随便命名,但最好见名知意。

posted @ 2020-06-27 21:15  屌丝大叔的笔记  阅读(2743)  评论(0编辑  收藏  举报