zoukankan      html  css  js  c++  java
  • 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你可以随便命名,但最好见名知意。

  • 相关阅读:
    ORACLE创建、修改、删除序列
    mysql添加索引
    Mysql事物与Metadata lock 问题
    oracle 查询最近执行过的 SQL语句
    ORACLE 常用SQL查询
    ssh-keygen的用法
    sql之left join、right join、inner join的区别
    Linux下使用 ipset 封大量IP及ipset参数说明
    今天学习的小命令
    Linux下查看分区内目录及文件占用空间容量
  • 原文地址:https://www.cnblogs.com/subendong/p/13199866.html
Copyright © 2011-2022 走看看