当前位置: 移动技术网 > IT编程>开发语言>.net > Volo.Abp.EntityFrameworkCore.MySQL 使用

Volo.Abp.EntityFrameworkCore.MySQL 使用

2019年01月15日  | 移动技术网IT编程  | 我要评论

给力文学,政风行风热线,傲剑天下好看吗

  • 创建新项目

打开 https://cn.abp.io/templates ,任意选择一个项目类型,然后创建项目,我这里创建了一个web api

 

 

解压项目,还原nuget,项目目录如下:

 

 

首先我们来查看下整个项目关于数据库方面的引用:

 

 

从图中我们可以看到identityserverhostmkm.bookstore.host 这两个站点有引用,identityserverhost是用户中心api,和mkm.bookstore.host 是我们的业务中心api,这里我们以mkm.bookstore.host的处理为例来讲解下如何把原有的sqlserver替换为mysql。

1、在以mkm.bookstore.host添加volo.abp.entityframeworkcore.mysql的引用

2、修改数据库default的连接字符串为mysql的数据库连接字符串

1     //sqlserver
2     //"default" "server=localhost;database=bookstorehost;trusted_connection=true;multipleactiveresultsets=true",
3     
4     //mysql
5     "default": "server=192.168.2.15; port=3306; database=bookstorehost; user=root; password=123456;",
6     
7     // 缓存数据库
8     "sqlservercache": "server=localhost;database=bookstorecache;trusted_connection=true;multipleactiveresultsets=true"

 

3、demoappmodule.cs

3.1 、替换引用

添加volo.abp.entityframeworkcore.mysql的引用

注释volo.abp.entityframeworkcore.sqlserver的引用

3.2、替换module

 1 typeof(abpentityframeworkcoresqlservermodule)替换为typeof(abpentityframeworkcoremysqlmodule)
 2 
 3     [dependson(
 4         typeof(abpautofacmodule),
 5         typeof(bookstoreapplicationmodule),
 6         typeof(bookstoreentityframeworkcoremodule),
 7         typeof(bookstorehttpapimodule),
 8         typeof(abppermissionmanagemententityframeworkcoremodule),
 9         typeof(abpsettingmanagemententityframeworkcoremodule),
10         typeof(abpauditloggingentityframeworkcoremodule),
11         //typeof(abpentityframeworkcoresqlservermodule)
12          typeof(abpentityframeworkcoremysqlmodule)
13         )]

 

3.3、 usesqlserver改为usemysql

1  configure<abpdbcontextoptions>(options =>
2             {
3                 //options.usesqlserver();
4                 options.usemysql();
5             });

 

4、demoappdbcontextfactory.cs

        public demoappdbcontext createdbcontext(string[] args)
        {
            var configuration = buildconfiguration();

            //var builder = new dbcontextoptionsbuilder<demoappdbcontext>()
            //    .usesqlserver(configuration.getconnectionstring("default"));

            var builder = new dbcontextoptionsbuilder<demoappdbcontext>()
                .usemysql(configuration.getconnectionstring("default"));

            return new demoappdbcontext(builder.options);
        }

5、迁移&&生成

5.1、删除默认迁移文件

删除migrations目录以及文件,因为默认的是sqlserver的,我们这里是需要生产mysql的。

5.2、 生成新的迁移文件

mkm.bookstore.host设置为启动项目,打开程序包管理控制台并且默认项目选择为mkm.bookstore.host

执行迁移命令 

pm> add-migration mysql_init

 

 

5.3、更新数据库

pm> update-database -verbose

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网