ABP 6.0.3多类型数据库dbcontext连接方案-众里寻他千百度蓦然回首那人却在灯火阑珊处
有个需求需要从mysql数据库中读取数据
我又喜欢用sqlite保存其他数据(主要是再安装一个数据库很麻烦,数据量又不大)
当我脑海里有个不成熟想法的时候,我真想回过去掐死这个想法。
一个mysql,一个sqlite数据怎么搞
因为不会翻墙,百度和bing来的方案里都要指向一个额外module处理的方式:思路就是新建一个module,将一个dbcontext放进去,然后编辑项目把module引用过来。然后……
带着复杂的心情在ps里敲下abp new xxx -t module XXXX的时候,我是沮丧的。
就这?我不甘心。
在工程里研究下dbcontext是如何配置的
Configure<AbpDbContextOptions>(options =>
{options.Configure(configurationContext =>{configurationContext.UseSqlite();});
}
其实options.Configure还有带参的overload,我灵机一动,看来在这里是可以配置DbContext,于是开启了探索。
新建一个DbContext及DbContextFactory
然后将配置换为
options.Configure<ADbContext>(configurationContext =>{configurationContext.UseSqlite();});options.Configure<BDbContext>(configurationContext =>{configurationContext.UseMySQL();});
骄傲的运行了下
dotnet run --migrate-database
提示错误需要配置AbpDbContextOptions
经过一番折腾发现必须要有不带参数的Configure(原因可以自己去挖代码)
于是完整的配置代码为
Configure<AbpDbContextOptions>(options =>{options.Configure(configurationContext =>{configurationContext.UseSqlite();});options.Configure<ADbContext>(configurationContext =>{configurationContext.UseSqlite();});options.Configure<BDbContext>(configurationContext =>{configurationContext.UseMySQL();});});
另外需要注意的是在migration和update数据库时需要指明dbcontext。在各个DbContext指明配置字符串。
友情提醒:如果是同一个类型的数据库,那就不需要修改设置options,只需要添加DbContext和DbContextFactory,配置下连接字符串就可以了。
注:我使用的是单层架构(app-nolayers),原理相同大家额可以积极探索
abp new xxxx -t app-nolayers
ABP 6.0.3多类型数据库dbcontext连接方案-众里寻他千百度蓦然回首那人却在灯火阑珊处相关推荐
- mfc和mysql连接 dao_用MFC DAO 在VC++6.0进行与数据库的连接,对数据库进行定义和操作,最后断开数据库的连接等各种操作。...
展开全部 ||以下32313133353236313431303231363533e78988e69d8331333262363034代码同时兼容WINDOWS / MFC / LINUX / ODB ...
- Java连接MySQL8.0以上版本数据库方式
Java连接MySQL8.0以上版本数据库方式 MySQL 8.0 开始数据库相比常用的 5.X 版本发生了比较大的变化,我们在连接数据库的过程中许多地方也要发生一些变化. 总结一下,想要利用 mys ...
- postgresql数据库无法连接,提示 Is the server running on host localhost (127.0.0.1) and accepting TCP/IP conn
postgresql数据库无法连接,提示 Is the server running on host "localhost" (127.0.0.1) and accepting T ...
- mysql 注册驱动_mysql8.0以上版本注册驱动并建立数据库的连接公共代码
String driverName = "com.mysql.jdbc.Driver"; String userName = "用户名"; String use ...
- abp如何连接oracle,Abp项目模板使用Oracle数据库
[实例简介] Abp项目模板使用Oracle11g数据库包括系统权限管理,Abp.Zero [实例截图] [核心代码] 0df058ea-1862-4668-8b8e-11d4ab5618c3 ├── ...
- Net Core 6.0 webApi+sqlServer数据库教程实战
Net Core 6.0 webApi+sqlServer数据库教程实战 教程前言 安装net core 环境 构建wepApi项目 操作数据库 接口调用 相关快速扩展 总结 教程前言 本教程从构建项 ...
- Abp项目模板使用Oracle数据库包括系统权限管理
Abp项目模板使用Oracle数据库包括系统权限管理 by dacong 参考:Abp项目的创建以及Oracle的支持 aspnet-zero-core 使用MySql数据库 http://www.s ...
- ODBC、OLE连接各种数据库的连接字符串
简介 我们在使用数据库的时候,首先需要打开这个数据库. 我们可以找到集中类型的数据库,每个都使用不同的连接方式. 下面列举了一下主要的数据库的连接字符串 A:使用ODBC方式 1:dBASE连接字符串 ...
- SQL Relay开源的数据库池连接代理服务器
一.SQL Relay是什么? SQL Relay是一个开源的数据库池连接代理服务器 二.SQL Relay支持哪些数据库? * Oracle * MySQL * mSQL * PostgreSQL ...
最新文章
- 引导加载程序之争: LILO 和 GRUB
- JAVA后端开发规范
- python 图表_新手向——制作web图表(基于Python和GooPyCharts)
- 自定义报表预览控制工具条
- pytest.7.常见套路
- 地铁建设 (Standard IO)
- Client访问Tomcat简单流程(Struts2)
- lower版购物车模拟
- oracle创建索引后sqlldr导入错误
- Centos定时备份 MySQL数据库
- audio.js的研究与使用
- Java基础,无许复杂语句,倒序输出整数,int i = 123;输出321
- Unity Shader零基础入门2:环境光、漫反射、高光
- 阿里史上最大规模校招,进大厂的机会来啦!!!
- 有功功率、无功功率、视在功率 的定义
- matlab将数据写入到excel中
- matlab绘制抛物线,MATLAB中绘制抛物线的图像,请补充完成下面代码: clc,clear; x=linspace(...
- IBM WebSphere Portal宕机或性能低常见问题分析 及解决措施
- realplayer java_Realplayer控制参数
- 瑞萨RCAR-M3N高温死机问题
热门文章
- swfTools+FlexPaper文档在线预览及问题解决(FlexPaper加载一直转圈)
- 计算机电路图解,图解 | 你管这破玩意叫计算机?
- 创建一个银行账户的继承层次,表示银行的所有客户的账户。每个客户都能在他们的银行账户存钱,取钱。但是账户可以分为更具体的两种类型,例如,依靠存款生息的存储账户SavingsAccount类
- 数据结构与算法基础(青岛大学-王卓)(6)
- python源设置及查看
- Socket编程学习
- canny算子的边缘提取算法
- “移动仓库”:跨境电商的未来趋势
- 力扣让我心碎的第八天
- android FrameWork底层开发视频