CSFramework.EF数据库框架应用Schema测试多种数据库(.NET8+EFCore)|C/S开发框架

CSFramework.EF数据库框架应用Schema测试多种数据库(.NET8+EFCore)
测试场景
- CSFramework.EF数据库框架V3
- EFCore+.NET8
- 一个程序实例化多个DbContext
- 同时测试多种数据库(SqlServer、MySql、Oracle、达梦)
- 每种数据库构造两个IDatabase实例连接2个数据库名
测试源码
C# 全选
private void btnMultiDBTest_Click(object sender, EventArgs e)
{
if (true) //测试SqlServer数据库
{
ShowResult(">>>>>>测试SqlServer数据库");
var connStr1 = "Server=192.168.0.5;Database=CSFramework_WebAPI_V3;User ID=;Password=123; Max Pool Size=512; Pooling=true;TrustServerCertificate=true;";
var connStr2 = "Server=192.168.0.5;Database=CSFramework_WebAPI_V3_Log;User ID=;Password=123; Max Pool Size=512; Pooling=true;TrustServerCertificate=true;";
//创建2个IDatabase实例
var db1 = DatabaseFactory.GetDatabase(DatabaseType.SqlServer, connStr1);
var db2 = DatabaseFactory.GetDatabase(DatabaseType.SqlServer, connStr2);
Test1(db1);
Test2(db2);
}
if (true) //测试MySql数据库
{
ShowResult(">>>>>>测试MySql数据库");
var connStr1 = "Server=192.168.0.5;Database=CSFramework_WebAPI_V3;User ID=root;Password=123; Max Pool Size=512; Pooling=true;Connect Timeout=30;sslmode=none;Charset=utf8;Pooling=true;Min Pool Size=0;Max Pool Size=500;Connection Lifetime=0;Convert Zero Datetime=True;AllowLoadLocalInfile=true;AllowPublicKeyRetrieval=True;";
var connStr2 = "Server=192.168.0.5;Database=CSFramework_WebAPI_V3_Log;User ID=root;Password=123; Max Pool Size=512; Pooling=true;Connect Timeout=30;sslmode=none;Charset=utf8;Pooling=true;Min Pool Size=0;Max Pool Size=500;Connection Lifetime=0;Convert Zero Datetime=True;AllowLoadLocalInfile=true;AllowPublicKeyRetrieval=True;";
//创建2个IDatabase实例
var db1 = DatabaseFactory.GetDatabase(DatabaseType.MySql, connStr1);
var db2 = DatabaseFactory.GetDatabase(DatabaseType.MySql, connStr2);
Test1(db1);
Test2(db2);
}
if (true)//测试达梦数据库
{
ShowResult(">>>>>>测试达梦数据库");
var connStr = "Server=localhost;Port=5236;User Id=SYSDBA;Password=123;";
//创建2个IDatabase实例
var db1 = DatabaseFactory.GetDatabase(DatabaseType.DaMeng, connStr, "CSFramework_WebAPI_V3");
var db2 = DatabaseFactory.GetDatabase(DatabaseType.DaMeng, connStr, "CSFramework_WebAPI_V3_Log");
Test1(db1);
Test2(db2);
}
if (true)//测试Oracle数据库
{
ShowResult(">>>>>>测试Oracle数据库");
var connStr1 = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.5)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=CSFramework_WebAPI_V3)));User Id=user01;Password=123;";
var connStr2 = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.5)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=CSFramework_WebAPI_V3_Log)));User Id=user01;Password=123;";
//创建2个IDatabase实例
var db1 = DatabaseFactory.GetDatabase(DatabaseType.Oracle, connStr1);
var db2 = DatabaseFactory.GetDatabase(DatabaseType.Oracle, connStr2);
Test1(db1);
Test2(db2);
}
}
C# 全选
//CSFramework_WebAPI_V3库
private void Test1(IDatabase db)
{
//测试查询用户表
var q1 = db.GetQueryable<Api_User>();
var user = q1.OrderByDescending(o => o.LastLoginTime).FirstOrDefault();
ShowResult("用户->" + user?.Account + "-" + user?.UserName);
}
C# 全选
//CSFramework_WebAPI_V3_Log库
private void Test2(IDatabase db)
{
//测试查询日志表
var q2 = db.GetQueryable<sys_Log_ApiVistior>();
var log = q2.Where(w => !String.IsNullOrEmpty(w.LogContent)).FirstOrDefault();
ShowResult("日志->" + log?.LogContent);
}
测试结果
测试程序截图


测试结论
测试成功!
一个程序实例,测试四种不同的数据库(SqlServer、MySql、Oracle、达梦),达梦库测试2个Schema,实例化多个DbContext。
CSFramework.EF多数据库框架
CSFramework.EF是轻量级数据库底层框架,基于Entity Framework 实体框架强大功能封装而成。支持三种主流数据库,分别是SqlServer、Oracle、MySQL,支持国产数据库 - 达梦数据库,用户可扩展其他数据如 PostgreSQL,MongoDB,SQLLite等。
CSFramework.EF数据库框架提供IDatabase接口,里面定义了一组通用的接口方法,如增、删、改、查:Add<T>, Update<T>,Remove<T>,GetQuaryable<T>,支持LINQ,SQL脚本查询和操作,支持常用事务、BulkInsert批量插入等功能。
软件介绍:https://www.cscode.net/archive/csframework.ef/363596745297925.html

参考文档:
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
CSFrameworV6试用版开发指南 | 主程序初始化CSFramework.EF数据库框架(.NET8)|C/S开发框架
使用.NET8/EFCore访问达梦数据库|C/S框架网|C/S开发框架
EFCore+.NET8:表名、字段名、模型名称大小写兼容性测试|C/S开发框架
EFCore+.NET8:使用Oracle数据库提交大图片文件需要指定BLOB类型|C/S开发框架
EFCore+Scheme(数据库架构)实现分库分表支持多种主流数据库解决方案|C/S开发框架
最新MES系统快速开发平台(Winform+NET8+EFCore)|C/S开发框架
CSFramework.EF 数据库框架 | 支持达梦数据库|C/S开发框架
达梦数据库.NETCore.NET8实践指南|C/S软件开发框架|C/S开发框架
CSFrameworkV6开发框架升级VS2022+.NET8+DevExpress24.1操作步骤|C/S开发框架
Oracle:EFCore使用OracleBulkCopy实现批量导入数据|C/S开发框架
CSFramework.EF.PostgreSql数据库组件 PostgreSql数据库测试报告|C/S开发框架
.NET8 .NETCore运行环境下载|C/S开发框架
.NET8 WebApi框架接口认证方式:Bearer Token/Jwt Token详解|C/S开发框架
升级到.NET8 LINQ Where关键字 'WITH' 附近有语法错误解决方案|C/S开发框架
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
CSFrameworV6试用版开发指南 | 主程序初始化CSFramework.EF数据库框架(.NET8)|C/S开发框架
使用.NET8/EFCore访问达梦数据库|C/S框架网|C/S开发框架
EFCore+.NET8:表名、字段名、模型名称大小写兼容性测试|C/S开发框架
EFCore+.NET8:使用Oracle数据库提交大图片文件需要指定BLOB类型|C/S开发框架
EFCore+Scheme(数据库架构)实现分库分表支持多种主流数据库解决方案|C/S开发框架
最新MES系统快速开发平台(Winform+NET8+EFCore)|C/S开发框架
CSFramework.EF 数据库框架 | 支持达梦数据库|C/S开发框架
达梦数据库.NETCore.NET8实践指南|C/S软件开发框架|C/S开发框架
CSFrameworkV6开发框架升级VS2022+.NET8+DevExpress24.1操作步骤|C/S开发框架
Oracle:EFCore使用OracleBulkCopy实现批量导入数据|C/S开发框架
CSFramework.EF.PostgreSql数据库组件 PostgreSql数据库测试报告|C/S开发框架
.NET8 .NETCore运行环境下载|C/S开发框架
.NET8 WebApi框架接口认证方式:Bearer Token/Jwt Token详解|C/S开发框架
升级到.NET8 LINQ Where关键字 'WITH' 附近有语法错误解决方案|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服

