news 2026/5/26 9:23:31

基于.net6的一款开源的低代码、权限、工作流、动态接口平台-动态数据源篇

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于.net6的一款开源的低代码、权限、工作流、动态接口平台-动态数据源篇

动态数据源

动态数据源功能允许用户在运行时动态添加、修改和删除数据库连接信息,从而实现对多个数据库的访问和操作。通过动态数据源,用户可以根据业务需求灵活地管理和切换数据库连接,提高系统的扩展性和灵活性。

动态数据源配置

打开动态数据源菜单

e7ddac7c-95aa-4950-94ec-fda32e3cb57b

点击新增按钮,填写动态数据源信息

微信图片_2025-11-23_224918_532

填写完毕,点击测试连接按钮,测试连接是否成功

点击确定按钮,保存动态数据源信息,列表可以看到新增的数据源记录。

修改动态数据源

打开动态数据源菜单

点击需要修改的动态数据源,进入修改页面

修改动态数据源信息

点击测试连接按钮,测试连接是否成功

点击确定按钮,保存动态数据源信息

删除动态数据源

打开动态数据源菜单

点击需要删除的动态数据源,进入删除页面

点击删除按钮,删除动态数据源

使用动态数据源

代码里面使用动态数据源

var db=provider.GetConnection("Test").Result;

var data=db.Ado.SqlQuery<dynamic>("select * from mlt_sys_dynamic_datasource");

var data=db.Ado.SqlQuery<dynamic>("select * from mlt_sys_dynamic_datasource");

注入动态数据源提供程序

复制代码

public class DynamicDataSourceController : ControllerBase

{

private readonly IDynamicDataSourceService _dynamicDataSourceService;

private readonly IDbProvider _dbProvider;

public DynamicDataSourceController(IDynamicDataSourceService dynamicDataSourceService, IDbProvider dbProvider)

{

_dynamicDataSourceService = dynamicDataSourceService;

_dbProvider = dbProvider;

}

public void Test(){

var db=provider.GetConnection("Test").Result;

var data=db.Ado.SqlQuery<dynamic>("select * from mlt_sys_dynamic_datasource");

// 数据库操作

}

}

复制代码

在低代码平台使用动态数据源 如图所示,在低代码平台使用动态数据源

微信图片_2025-11-23_225943_544

复制代码

using System;

using System.Threading.Tasks;

using Newtonsoft.Json;

using System;

using JESAI.Core.Aspects;

using JESAI.Platform.Domain.Admin.Repositories;

using Jesai.DynamicDataSource.Sqlsugar.DynamicDatasources;

public class Program

{

public string Handle(string param){

//查询数据库

var provider = ServiceLocator.Instance.GetService<IDbProvider>();

var db=provider.GetConnection("Test").Result;

var data=db.Ado.SqlQuery<dynamic>("select * from mlt_sys_dynamic_datasource");

// 创建包含多个匿名对象的数组

var tableData = new[]

{

new { Id = 1, TableName = "用户表", TableCode = "user", TableDesc = "用户信息表", IsValid = 1, CreateTime = "2023-10-01 12:00:00" },

new { Id = 2, TableName = "订单表", TableCode = "order", TableDesc = "订单信息表", IsValid = 1, CreateTime = "2023-10-02 12:00:00" },

new { Id = 3, TableName = "产品表", TableCode = "product", TableDesc = "产品信息表", IsValid = 0, CreateTime = "2023-10-03 12:00:00" }

};

var result=new {ErrorCode="000000",Message="操作成功!",CurrentPage=1,Total=3,Data=new {tableData=tableData,DBData=data}};

var str=JsonConvert.SerializeObject(result);

return str;

}

public static async Task Main()

{

var p= new Program();

var result=p.Handle(null);

Console.WriteLine(result);

}

}

复制代码

注意事项

- 动态数据源数据库链接目前是明文,可以自行修改为加密字符串,否组可能出现裸奔。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 4:11:38

43、深入了解 Dash 和 Zsh 脚本编程

深入了解 Dash 和 Zsh 脚本编程 在 shell 脚本编程的世界里,不同的 shell 有着各自独特的特性和功能。Dash 和 Zsh 就是其中比较有代表性的两种,下面我们就来详细了解一下它们的脚本编程相关知识。 Dash 脚本编程 在使用 Dash shell 时,需要注意它并不能识别 Bash shell …

作者头像 李华
网站建设 2026/5/25 16:55:28

46、Linux系统磁盘空间监控与MySQL数据库操作指南

Linux系统磁盘空间监控与MySQL数据库操作指南 1. 多用户Linux系统的磁盘空间问题 多用户Linux系统面临的一大难题是可用磁盘空间的管理。在某些场景下,比如文件共享服务器,一个粗心的用户就可能迅速耗尽磁盘空间。 对于生产环境的Linux系统,不能仅仅依赖磁盘空间报告来防…

作者头像 李华
网站建设 2026/5/25 16:16:57

精准测试探索

一、背景 什么是精准测试&#xff1f;通常研发提测的需求有代码变更&#xff0c;针对研发的代码变更点以及关联点进行测试&#xff0c;我们称之为精准测试。 很多时候&#xff0c;对变更点、影响范围的评估并不是很准确&#xff0c;偶尔会出现影响范围评估不全或者影响范围评…

作者头像 李华
网站建设 2026/5/26 1:38:57

改进的双锁相环阻抗重塑控制策略:提升动态功率限制,保持稳定性

改进的双锁相环阻抗重塑控制策略 复现一篇IEEE上英文文献 创新点&#xff1a;阻抗重塑 双锁相环 另有一份中文版报告&#xff08;与模型完全对应&#xff09; 采用改进的双锁相环阻抗重塑控制策略&#xff0c;不仅能保留较快的动态响应&#xff0c;还能极大地提升动态功率限制&…

作者头像 李华
网站建设 2026/5/25 8:37:58

Android自动化终极解决方案:ADBKeyBoard效率翻倍指南

你是不是也遇到过这样的尴尬场景&#xff1a;精心设计的自动化测试脚本&#xff0c;一到中文输入环节就"无法正常工作"&#xff1f;别担心&#xff0c;ADBKeyBoard就是为这个问题而生的终极解决方案。这个强大的虚拟键盘工具让Android自动化测试中的Unicode字符输入变…

作者头像 李华
网站建设 2026/5/26 6:34:30

医疗软件合规性测试体系构建与实战解析

面向测试从业者的全流程合规保障方案 一、行业背景与合规必要性 随着FDA、NMPA等全球监管机构对医疗数字化要求的升级&#xff0c;合规性测试已成为医疗软件生命周期中的核心环节。根据2025年最新发布的《医疗器械软件审查指南》&#xff0c;涉及诊断、治疗、健康管理的软件均…

作者头像 李华