首页
/ SQLKata QueryBuilder 4.0.0 版本发布:现代化升级与功能增强

SQLKata QueryBuilder 4.0.0 版本发布:现代化升级与功能增强

2025-06-16 15:30:30作者:韦蓉瑛

SQLKata QueryBuilder 是一个优雅的 SQL 查询构建器,它允许开发者使用流畅的 API 构建 SQL 查询,同时支持多种数据库引擎。这个工具特别适合那些希望在应用程序中构建复杂 SQL 查询而不想直接编写原始 SQL 的开发团队。

框架升级与现代化改进

本次发布的 4.0.0 版本将目标框架升级到了 .NET 8,这是微软最新的长期支持(LTS)版本。这一变化意味着:

  1. 开发者现在可以利用 .NET 8 的性能改进和新特性
  2. 项目将获得更长的官方支持周期
  3. 移除了用于开发测试的 Program 项目,使项目结构更加精简

核心功能增强

删除连接支持

新版本增加了对 DELETE JOIN 操作的支持,这在处理需要基于关联表条件删除数据的场景时非常有用。例如,现在可以轻松实现"删除所有没有订单的客户"这类操作。

参数占位符改进

修复了参数占位符硬编码为"?"的问题,这使得 QueryBuilder 能够更好地适应不同数据库系统的参数化查询语法要求。例如,SQL Server 使用"@"前缀,而 Oracle 使用":"前缀。

FILTER 子句支持

新增了对 FILTER 子句的支持,这是 PostgreSQL 等现代数据库系统中的高级特性,允许对聚合函数进行条件过滤,使查询更加灵活和高效。

查询构建优化

EXISTS 子句优化

移除了 WHERE EXISTS 子查询中不必要的 SELECT 语句,使生成的 SQL 更加简洁高效。这一优化特别有利于复杂查询的性能提升。

多行选择表达式

现在支持在多行中编写扩展的选择表达式,提高了复杂查询的可读性和维护性。开发团队可以更清晰地组织包含多个字段或复杂计算的 SELECT 语句。

稳定性与兼容性改进

Oracle 批量插入修复

解决了 Oracle 数据库在批量插入操作中的问题,确保了在大数据量插入场景下的稳定性和性能。

参数占位符转义

新增了对参数占位符的转义支持,防止了在包含问号的文本值被误解析为参数占位符的情况。

代码质量提升

  1. 为从未修改的私有字段添加了 readonly 修饰符,增强了代码的安全性和可维护性
  2. 更新了 Newtonsoft.Json 依赖版本,从 11.0.2 升级到 13.0.2,获得了最新的功能和安全修复

总结

SQLKata QueryBuilder 4.0.0 版本标志着该项目的一个重要里程碑,不仅跟上了 .NET 生态系统的最新发展,还引入了多项实用功能和改进。这些变化使得构建复杂 SQL 查询更加简单、灵活,同时保持了代码的高质量和跨数据库兼容性。对于正在使用或考虑使用 SQL 查询构建器的 .NET 开发者来说,这个版本值得关注和升级。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
205
2.18 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
208
285
pytorchpytorch
Ascend Extension for PyTorch
Python
62
95
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
977
575
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
550
86
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.02 K
399
communitycommunity
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
393
27
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
1.2 K
133