Shipeng.EntityFrameworkCore 4.1.1

dotnet add package Shipeng.EntityFrameworkCore --version 4.1.1
                    
NuGet\Install-Package Shipeng.EntityFrameworkCore -Version 4.1.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Shipeng.EntityFrameworkCore" Version="4.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Shipeng.EntityFrameworkCore" Version="4.1.1" />
                    
Directory.Packages.props
<PackageReference Include="Shipeng.EntityFrameworkCore" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Shipeng.EntityFrameworkCore --version 4.1.1
                    
#r "nuget: Shipeng.EntityFrameworkCore, 4.1.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Shipeng.EntityFrameworkCore@4.1.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Shipeng.EntityFrameworkCore&version=4.1.1
                    
Install as a Cake Addin
#tool nuget:?package=Shipeng.EntityFrameworkCore&version=4.1.1
                    
Install as a Cake Tool

Shipeng.EntityFrameworkCore

Shipeng.EntityFrameworkCore 提供 Entity Framework Core 集成能力,包括默认 DbContext、仓储接口、多数据库类型枚举、动态查询辅助、DataReader/ObjectReader 转换和常用扩展。适合以 EF Core 作为主 ORM 的业务系统。

安装

dotnet add package Shipeng.EntityFrameworkCore

适用场景

  • 项目使用 EF Core 访问 SQL Server、SQLite、MySQL、PostgreSQL 或 Oracle。
  • 希望统一仓储接口、DbContext 扩展和动态查询表达式。
  • 需要在基础设施层复用分页、排序、字典、字符串、类型转换等 EF 相关扩展。

主要类型

  • DefaultDbContext:默认 EF Core 上下文基类。
  • IRepository:仓储接口抽象。
  • SqlRepositorySqliteRepositoryMySqlRepositoryNpgsqlRepositoryOracleRepository:不同数据库的仓储实现/扩展入口。
  • DatabaseType:数据库类型枚举。
  • DbContextExtensionsLinqExtensionsFormattableStringExtensions:查询和上下文扩展。
  • IServiceCollectionExtensions:EF Core 服务注册扩展。
  • MatchTypeOrderType:动态查询匹配和排序枚举。
  • ObjectReaderIDataReaderExtensions:对象和 DataReader 转换辅助。

基本用法

using Microsoft.EntityFrameworkCore;
using Shipeng.Foundation.EntityFrameworkCore;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddDbContext<DefaultDbContext>(options =>
{
    options.UseSqlServer(builder.Configuration.GetConnectionString("Default"));
});

var app = builder.Build();
app.Run();

使用建议

  • DbContext 生命周期使用 Scoped,不要注册为 Singleton。
  • 查询列表必须注意投影,只取页面需要的字段。
  • 写操作使用事务时,事务边界应放在应用服务层,不要跨越外部网络调用。
  • 多数据库项目应按实际数据库引用驱动,避免业务项目引入不需要的 provider。

API Reference / API 索引

nuget.org 当前只会直接渲染包的 READMERelease Notes,不会把包内 docs/API_REFERENCE.md 自动显示成一个独立页面标签。完整公开 API 索引已经随 NuGet 包打入 docs/API_REFERENCE.md,也可以在源码仓库中查看。

如果你正在 NuGet 页面阅读本文,请优先看本 README 的“主要类型”和示例;下载包后可在包内容中打开 docs/API_REFERENCE.md 查看完整公开类型、方法、属性和构造函数签名。

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.1.1 97 6/30/2026
4.1.0 100 6/30/2026

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 错误。