• 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你可以随便命名,但最好见名知意。

  • 相关阅读:
    Python-炫酷二维码
    Dictionary 序列化与反序列化
    获取数据库所有表名与字段名
    LinQ To Object 基本用法
    使用jq操作脚本生成元素的事件
    表单验证如何让select设置为必选
    js实现复制功能兼容ios
    微信小程序使用函数防抖解决重复点击消耗性能问题
    electronr进行签名与公证
    使用electron在mac升级签名后进行升级出现“QRLUpdaterErrorDomain”的错误
  • 原文地址:https://www.cnblogs.com/subendong/p/13199866.html
Copyright © 2020-2023  润新知