Shipeng.Data.SqlSugar
4.1.1
dotnet add package Shipeng.Data.SqlSugar --version 4.1.1
NuGet\Install-Package Shipeng.Data.SqlSugar -Version 4.1.1
<PackageReference Include="Shipeng.Data.SqlSugar" Version="4.1.1" />
<PackageVersion Include="Shipeng.Data.SqlSugar" Version="4.1.1" />
<PackageReference Include="Shipeng.Data.SqlSugar" />
paket add Shipeng.Data.SqlSugar --version 4.1.1
#r "nuget: Shipeng.Data.SqlSugar, 4.1.1"
#:package Shipeng.Data.SqlSugar@4.1.1
#addin nuget:?package=Shipeng.Data.SqlSugar&version=4.1.1
#tool nuget:?package=Shipeng.Data.SqlSugar&version=4.1.1
Shipeng.Data.SqlSugar
Shipeng.Data.SqlSugar 是基于 SqlSugar 的数据访问包,提供仓储、分页、动态查询条件、事务过滤器、工作单元和 DI 注册能力。它适合已经选择 SqlSugar 作为 ORM 的后台系统、管理系统和业务服务。
安装
dotnet add package Shipeng.Data.SqlSugar
适用场景
- 项目使用 SqlSugarCore 访问 SQL Server、MySQL、PostgreSQL、Oracle、SQLite 等数据库。
- 需要统一分页返回模型、查询参数模型和条件表达式处理。
- 需要在应用服务或 Controller 层通过特性启用事务。
- 需要封装常见 CRUD、SQL 执行、存储过程和分页查询。
主要类型
SqlSugarServiceCollectionExtensions:注册 SqlSugar 服务和仓储的 DI 扩展入口。SqlSugarUnitOfWorkAttribute:声明式事务特性,适合应用服务方法或接口方法。SqlSugarUnitOfWorkFilter:事务过滤器实现。SqlSugarPagedList、PagedModel、PagedQueryableExtensions:分页查询模型和扩展。ConditionsAttribute、ConditionsType、SymbolAttribute、QueryParameter:动态查询条件描述。SqlProfiler:SQL 执行分析/输出辅助。ConfigureExternalServicesExtenisons:SqlSugar 外部服务配置扩展。
基本用法
using Shipeng.Foundation.Data.SqlSugar;
var builder = WebApplication.CreateBuilder(args);
// 从配置读取连接字符串和数据库类型后注册 SqlSugar。
// builder.Services.AddSqlSugar(builder.Configuration);
var app = builder.Build();
app.Run();
动态查询建议
public sealed class UserQuery
{
[Conditions(ConditionsType.Equal)]
public string? Status { get; set; }
[Conditions(ConditionsType.Like)]
public string? Keyword { get; set; }
}
使用建议
- 事务只包住需要原子性的写操作,不要把远程 HTTP、消息发送等长耗时操作放进数据库事务。
- 分页必须明确排序字段,避免数据库在大表上产生不稳定分页。
- SQL 日志在生产环境应脱敏输出,避免记录身份证、手机号、token、密钥等敏感值。
- 仓储只引用业务需要的数据库包,不要在上层项目重复引用无关 ORM。
API Reference / API 索引
nuget.org 当前只会直接渲染包的 README 和 Release Notes,不会把包内 docs/API_REFERENCE.md 自动显示成一个独立页面标签。完整公开 API 索引已经随 NuGet 包打入 docs/API_REFERENCE.md,也可以在源码仓库中查看。
如果你正在 NuGet 页面阅读本文,请优先看本 README 的“主要类型”和示例;下载包后可在包内容中打开 docs/API_REFERENCE.md 查看完整公开类型、方法、属性和构造函数签名。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Data.SqlClient (>= 7.0.2)
- Shipeng.Foundation (>= 4.1.1)
- SqlSugar.IOC (>= 2.0.1)
- SqlSugarCore (>= 5.1.4.215)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Shipeng.Data.SqlSugar:
| Package | Downloads |
|---|---|
|
Shipeng.Data.Hybrid
Hybrid MongoDB and SqlSugar paging helper package for read-model scenarios that query MongoDB first and fall back to SQL data when needed. |
GitHub repositories
This package is not used by any popular GitHub repositories.
4.1.1 / 2026-06-30
English:
- Split the original monolithic foundation library into focused Shipeng.* NuGet packages so applications can reference only the capabilities they actually need.
- Added Shipeng.DatabaseMaintenance for SQL Server and MongoDB database maintenance. It supports non-destructive cleanup preview, SqlSugar entity scanning, MongoDB collection scanning from configuration or source declarations, keep lists, ignored prefixes, empty-scan protection, missing table preview, controlled SqlSugar CodeFirst table creation, SQL Server schema difference preview, safe missing-column creation, safe changed-column synchronization, explicit execution switches, and confirmation-code protected destructive/schema-changing execution.
- Improved Shipeng.Payment with a unified payment abstraction for WeChat, Alipay, UnionPay, Cloud QuickPass, bank gateways, and profit-sharing scenarios. WeChat Pay V3 remains the concrete built-in implementation; other channels expose stable provider contracts and explicit placeholders so applications can add real vendor SDK implementations without changing business code.
- Centralized common NuGet metadata in Directory.Build.props: target framework, version, authors, repository, license, README, XML documentation, warning policy, and release notes.
- Every package includes README.md, XML IntelliSense documentation, and docs/API_REFERENCE.md inside the generated nupkg.
- Updated README files to explain that nuget.org renders README and Release Notes directly but does not expose packaged docs/API_REFERENCE.md as a separate page tab.
- Release build validation: all projects build and pack successfully for net10.0 with 0 warnings and 0 errors.
中文:
- 将早期单体基础库拆分为职责更清晰的 Shipeng.* NuGet 包,业务项目可以按需引用认证、MongoDB、SqlSugar、EF Core、数据库索引、数据库维护、第三方集成、日志、映射、支付和混合分页能力。
- 新增 Shipeng.DatabaseMaintenance,用于 SQL Server 和 MongoDB 数据库维护。支持冗余表/集合预览清理、SqlSugar 实体扫描、MongoDB 配置集合扫描、源码集合声明扫描、保留名单、忽略前缀、空扫描保护、缺失表预览、受控 CodeFirst 自动建表、SQL Server 结构差异预览、缺失字段补齐、安全字段同步、显式执行开关和确认码保护。
- 增强 Shipeng.Payment,新增统一支付抽象,覆盖微信、支付宝、银联、云闪付、银行网关和分账场景。微信支付 V3 是当前内置可用实现;其他通道提供稳定 Provider 契约和明确占位实现,方便业务项目接入真实厂商 SDK。
- 将公共 NuGet 元数据统一集中到 Directory.Build.props,避免各项目 PropertyGroup 重复和不一致。
- 每个包都打入 README.md、XML IntelliSense 文档和 docs/API_REFERENCE.md。
- 所有 README 都补充说明:nuget.org 会直接显示 README 和 Release Notes,但不会把包内 docs/API_REFERENCE.md 自动显示为独立标签页。
- 已验证 Release 构建和打包,目标框架 net10.0,0 警告,0 错误。