Volo.Abp.EntityFrameworkCore.MySQL 使用
- 创建新项目
打开 https://cn.abp.io/Templates
,任意选择一个项目类型,然后创建项目,我这里创建了一个Web Api
解压项目,还原Nuget,项目目录如下:
首先我们来查看下整个项目关于数据库方面的引用:
从图中我们可以看到IdentityServerHost
和MKM.BookStore.Host
这两个站点有引用,IdentityServerHost
是用户中心API,和MKM.BookStore.Host
是我们的业务中心API,这里我们以MKM.BookStore.Host
的处理为例来讲解下如何把原有的SqlServer替换为Mysql。
1、在以MKM.BookStore.Host
添加Volo.Abp.EntityFrameworkCore.MySQL
的引用
2、修改数据库Default
的连接字符串为Mysql的数据库连接字符串
//SqlServer
//"Default" "Server=localhost;Database=BookStoreHost;Trusted_Connection=True;MultipleActiveResultSets=true", //Mysql
"Default": "SERVER=192.168.2.15; PORT=3306; DATABASE=BookStoreHost; USER=root; PASSWORD=123456;", // 缓存数据库
"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
typeof(AbpEntityFrameworkCoreSqlServerModule)替换为typeof(AbpEntityFrameworkCoreMySQLModule) [DependsOn(
typeof(AbpAutofacModule),
typeof(BookStoreApplicationModule),
typeof(BookStoreEntityFrameworkCoreModule),
typeof(BookStoreHttpApiModule),
typeof(AbpPermissionManagementEntityFrameworkCoreModule),
typeof(AbpSettingManagementEntityFrameworkCoreModule),
typeof(AbpAuditLoggingEntityFrameworkCoreModule),
//typeof(AbpEntityFrameworkCoreSqlServerModule)
typeof(AbpEntityFrameworkCoreMySQLModule)
)]
3.3、 UseSqlServer
改为UseMySQL
Configure<AbpDbContextOptions>(options =>
{
//options.UseSqlServer();
options.UseMySQL();
});
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
5.4、关闭 TodosController 的 Authorize,运行 MKM.BookStore.Host
[RemoteService]
[Area("BookStore")]
[Route("api/BookStore/todos")]
//[Authorize]
public class TodosController : AbpController
{
private readonly ITodoAppService _todoAppService; public TodosController(ITodoAppService todoAppService)
{
_todoAppService = todoAppService;
} [HttpGet]
[Route("")]
public Task<PagedResultDto<TodoDto>> GetListAsync()
{
return _todoAppService.GetListAsync();
}
}
}
github 地址:https://github.com/Jesn/MKM.BookStore.git
Volo.Abp.EntityFrameworkCore.MySQL 使用的更多相关文章
- ABP——切换MySQL数据库
我是一名.net新手,应公司要求开始学习.net,使用的是土耳其大牛写的框架ASP.NET Boilerplate 简称ABP,是基于DDD的现代ASP.NET开发框架,ABP提供了一个启动模板用于新 ...
- An item with the same key has already been added. Key: Pomelo.EntityFrameworkCore.MySql.Infrastructure.Internal.MySqlOptionsExtension
An item with the same key has already been added. Key: Pomelo.EntityFrameworkCore.MySql.Infrastructu ...
- .NetCore中EFCore for MySql整理(三)之Pomelo.EntityFrameworkCore.MySql
一.Pomelo.EntityFrameworkCore.MySql简介 Git源代码地址:https://github.com/PomeloFoundation/Pomelo.EntityFrame ...
- EntityFrameworkCore.MySql
1.点击“工具”->“NuGet包管理器”->“程序包管理器控制台” 分别安装以下几个包 Mysql 版本: Install-Package MySql.Data.EntityFramew ...
- 使用Volo.Abp.MailKit发送邮件
Volo.Abp.MailKit封装继承MailKit库,为Abp邮件发送提供了快捷实现. 邮箱配置 qq邮箱支持smtp功能,需要去申请开通.参考qq邮箱设置,最重要的是smtp发送邮件,qq邮箱对 ...
- Magicodes.Pay已支持Volo Abp
Magicodes.Pay已支持Volo Abp 简介 Magicodes.Pay希望打造一个统一支付库,相关库均使用.NET标准库编写,支持.NET Framework以及.NET Core.目前已 ...
- ABP 切换mysql 数据库报错mysqlexception: incorrect string value: ‘\xe7\xae\x80\xe4\xbd\x93…’ for column display name
刚折腾了ABP框架,为了跨平台,将SQL Server数据库换成了MySQL数据库,ABP框架上支持多语言,中间被字符集折腾的够呛,翻了N个博客,最后终于在StackOverFlow 上找到了最终的解 ...
- 【转】ABP使用Mysql数据库
原文地址:https://www.cnblogs.com/LonelyCode/p/6477065.html 1.先安装Mysql的包,EntityFramework和Web项目都需要安装 2.修改W ...
- abp zero mysql版正式发布
AbpZero-MySql aspnet-zero-1.12.0的mysql版本来啦.跟mssql版一样的功能,一样的代码. 获取源码
随机推荐
- python报头解决粘包简单实现
client------------- #!/usr/bin/env python # encoding: utf-8 # Date: 2018/6/5 import socketimport st ...
- 配置myslq提示 the configuration step starting server is taking longer than expected we apologize for thi
.卸载重新安装,勾选日志配置选项,自定义日志输出路径
- css字体中px和em的区别
2015-05-28 昨天看到一个不错的纯css3表格样式,看到代码后注意到了作者用的都是em在控制大小.顿时想到了自己习惯使用的px长度单位,就查了关于两者的区别.综合前辈们的总结记录整理下来,以供 ...
- ES6系列_14之promise对象的简单使用
1.产生原因 在前端开发中,最常见的的就是"回调",我相信很多人对于这个"回调"可谓是印象深刻呢.究其原因是因为层层回调会造成所谓的“回调地狱 (callbac ...
- echarts x轴文字显示不全(解决方案)
echarts x轴标签文字过多导致显示不全 如图: 解决办法1:xAxis.axisLabel 属性 axisLabel的类型是object ,主要作用是:坐标轴刻度标签的相关设置.(当然yAxis ...
- tomcat 域名直接访问默认工程,而不添加项目路径
<Engine name="Catalina" defaultHost="xx.xx.xx.xx"> <!--For clustering, ...
- 【335】Install PyDev in Eclipse IDE
Reference: Eclipse和PyDev搭建完美Python开发环境(Windows篇) Reference: Install the PyDev plug-in for Eclipse Do ...
- 简单API练手:(1)复制自身程序到windows目录和系统目录下;(2)获得系统的相关信息。
1.复制自身程序到windows目录和系统目录下: #include <windows.h> #include <stdio.h> #include <string.h& ...
- Python3 abs() 函数
Python3 abs() 函数 Python3 数字 描述 abs() 函数返回数字的绝对值. 语法 以下是 abs() 方法的语法: abs( x ) 参数 x -- 数值表达式,可以是整数,浮 ...
- Spring分配置文件开发
---------------------siwuxie095 Spring 分配置文件开发 Spring 分配置文件开 ...