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版一样的功能,一样的代码. 获取源码
随机推荐
- 安装MySQL时出现黄色感叹号,提示3306已被占用
windows系统如何查看现在某个端口的应用进程id呢,命令是: 1.netstat -aon|findstr 3306 2.最后的那个数值就是进程id号,此时需要查看该id号对应的应用是哪一个,可 ...
- Django框架之模板语法【转载】
Django框架之模板语法 一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django ...
- 0 1 1 2 3 5 8 13 21 34 求第N个, 用js实现
function fibo(n) { var f = []; for (var c = 0; c < n; ++c) { console.log(f.join("")) f. ...
- Halcon中二维码解析函数解码率和时长的优化方法
Halcon中条码解析函数包容多种条码类型且简单强大.现有的‘Data Matrix ECC 200’.‘QR Code’和‘PDF417’等广泛使用的条码均能解析.简单是通过默认参数即可对多种条码进 ...
- 2015年传智播客JavaEE 第168期就业班视频教程11-导入配置文件
资源文件放在Source Folder目录下面,这个目录同样会编译到classes目录下 web.xml的 <listener> <listener-class>org.spr ...
- JS 语法大全
来源http://blog.csdn.net/newegg2009/article/details/6230582 js语法2008年03月19日 星期三 11:14一.js的数据类型和变量 Java ...
- PHP GD库
<?php $file = '12.jpg'; //打开图片 $im = imagecreatefromjpeg($file); //设置水印字体颜色 $color = imagecoloral ...
- WebLogic(12C)——几个基本概念
转http://blog.csdn.net/hanxuemin12345/article/details/46287597 目录(?)[-] 域Domain 服务器Server 机器Machine W ...
- 在Linux下访问Windows共享文件夹
说明 以下操作以Ubuntu为例,大家可以参考. 我在Ubuntu 14.04和16.04都试过了. Windows共享文件夹 如果局域网内有一台Windows主机,将指定文件夹设为共享,就可以在局域 ...
- Error generating final archive: Unable to get debug signature key
在调试程序时,发生下面的错误: Error generating final archive: Unable to get debug signature key 解决办法: 删除下面的文件: C:\ ...