Crping.EFCore.Common
8.4.0
See the version list below for details.
dotnet add package Crping.EFCore.Common --version 8.4.0
NuGet\Install-Package Crping.EFCore.Common -Version 8.4.0
<PackageReference Include="Crping.EFCore.Common" Version="8.4.0" />
<PackageVersion Include="Crping.EFCore.Common" Version="8.4.0" />
<PackageReference Include="Crping.EFCore.Common" />
paket add Crping.EFCore.Common --version 8.4.0
#r "nuget: Crping.EFCore.Common, 8.4.0"
#:package Crping.EFCore.Common@8.4.0
#addin nuget:?package=Crping.EFCore.Common&version=8.4.0
#tool nuget:?package=Crping.EFCore.Common&version=8.4.0
Crping.EFCore.Common
Crping.EFCore的接口与类型定义
版本更新说明
8.4.0
2026年8月8日 星期六
与
Crping.EFCore/Crping.EFCore.Controller同步升至 8.4.0
- 无功能性变更,仅同步版本号(TimeProvider 注入为 Core 层 BLL/DAL 变更,Common 接口未变)
8.3.0
2026年8月8日 星期六
与
Crping.EFCore/Crping.EFCore.Controller同步升至 8.3.0
- 无功能性变更,仅同步版本号(Controller 层健壮性/开关机制完善与 Core 层 DatabaseExtensions 迁入,Common 接口未变)
8.1.0
2026年8月8日 星期六
与
Crping.EFCore/Crping.EFCore.Controller同步升至 8.1.0
破坏性变更 — 分页结果契约两段式
OffsetPage<T>→{ items, pagination }:删除顶层 8 个分页属性(Page / PageSize / PageCount / RecordCount / HasNext / HasPrev / OrderBy / Ascending)与ToPagination(),新增不可变PaginationInfo PaginationKeysetPage<T>→{ items, pageInfo }:删除顶层 5 个属性(NextCursor / PrevCursor / HasNext / HasPrev / PageSize),新增不可变KeysetPageInfo PageInfo- 新增
PaginationInfo/KeysetPageInfo(全部 init-only,结果契约不可被调用方事后修改) - 调用方迁移:
page.Page→page.Pagination.Page、page.HasNext→page.PageInfo.HasNext等
8.0.0
2026年8月7日 星期五
与
Crping.EFCore/Crping.EFCore.Controller同步升至 8.0.0
- 无功能性变更,仅同步版本号(
useCache缓存开关、ConnectionName只读化均为 Core / BLL 层变更,Common 接口未变)
7.7.0
2026年8月7日 星期五
与
Crping.EFCore/Crping.EFCore.Controller同步升至 7.7.0
新增类型(统一缓存管理,无 EF 依赖)
ICacheManager:统一缓存门面接口(泛型 GetOrAdd / Get / Set / Remove / Invalidate + Stats 命中统计),键由modelKey + 版本号 + keySuffix组成CachePolicy:缓存策略(滑动/绝对过期、CacheNull空值防护、ExpirationJitter过期抖动防雪崩)ICacheVersionStore:模型版本号存储抽象(Get / Increment),支撑模型级原子失效CacheKeys:表达式缓存键生成器(结构签名 + 闭包捕获值,防闭包键冲突)CacheHitStats:命中统计(Hits / Misses / HitRate)
7.6.0
2026年8月6日 星期四
与
Crping.EFCore/Crping.EFCore.Controller同步升至 7.6.0
新增类型(Offset 偏移分页契约)
OffsetPage<T>:偏移分页结果契约(Items + Page + PageSize + RecordCount + PageCount + HasNext + HasPrev + OrderBy + Ascending),与KeysetPage<T>对称;含ToPagination()供旧响应形状包装
7.5.0
2026年8月6日 星期四
与
Crping.EFCore/Crping.EFCore.Controller同步升至 7.5.0
新增类型(Keyset 游标分页契约,无 EF 依赖)
KeysetPage<T>:分页结果契约(Items + NextCursor / PrevCursor + HasNext / HasPrev)KeysetCursor:游标编解码器,不透明 Base64Url 令牌,支持 HMAC 签名(KeysetCursor.SigningKey)KeysetDirection:Next / Prev 查询方向枚举
修复与增强(2026-08-06)
KeysetCursor载荷 JSON 改用源生成器(AOT 友好),签名校验 / JSON / 值解析全流程异常统一包装为ArgumentExceptionKeysetPage属性收紧为init
7.4.0
2026年8月3日 星期一
与
Crping.EFCore/Crping.EFCore.Controller同步升至 7.4.0
- 无功能性变更,仅同步版本号
7.3.0
2026年7月30日 星期三
与
Crping.EFCore/Crping.EFCore.Controller同步升至 7.3.0
破坏性变更 — 时间类型从 DateTime 改为 DateTimeOffset
IModel<TKey>.CreatedAt:DateTime→DateTimeOffsetIUpdatedAt.UpdatedAt:DateTime?→DateTimeOffset?IDeletedAt.DeletedAt:DateTime?→DateTimeOffset?IDelete<T>.DeletedAt:DateTime?→DateTimeOffset?IAuditor<T,U>.AuditedAt:DateTime?→DateTimeOffset?ICreatedDate.CreatedDate:DateTime→DateTimeOffsetICreatedTime.CreatedTime:DateTime→DateTimeOffsetIStartTime.StartTime:DateTime?→DateTimeOffset?IStartDate.StartDate:DateTime?→DateTimeOffset?IEndDate.EndDate:DateTime?→DateTimeOffset?IEndTime.EndTime:DateTime?→DateTimeOffset?
其他变更
IParent<T>:支持可空类型参数(如IParent<int?>),根节点可使用null
迁移指南
- 将实体中的
DateTime属性改为DateTimeOffset DateTime.Now改为DateTimeOffset.Now- 数据库列类型从
datetime2改为datetimeoffset
7.2.0
2026年7月28日 星期一
与
Crping.EFCore/Crping.EFCore.Controller同步升至 7.2.0
新增接口
IAppConfiguration:应用配置引用接口,提供IConfiguration实例,语义比IDbConfiguration更准确
重命名(向后兼容)
IMyConfiguration→IAppConfiguration:旧接口标记[Obsolete]并继承新接口IDbConfiguration:已删除(上一版本新增,因命名不当移除)
7.1.0
2026年7月28日 星期一
与
Crping.EFCore/Crping.EFCore.Controller同步升至 7.1.0
新增接口
IViewObject:视图对象输出接口,替代IToVoIDbConfiguration:数据库配置接口,替代IMyConfiguration
重命名(向后兼容 — 旧接口标记 [Obsolete])
IToVo→IViewObject:旧接口保留并继承新接口,编译时产生CS0618警告IMyConfiguration→IDbConfiguration:旧接口保留并继承新接口IEnabled→IIsEnabled:旧接口标记[Obsolete](属性名EnabledvsIsEnabled不同,无法继承)IDisabled→IIsDisabled:旧接口标记[Obsolete]
7.0.0
2026年7月26日 星期日
与
Crping.EFCore/Crping.EFCore.Controller同步升至 7.0.0
- 修复:
ModelWithName.Namesetter 增加 null 防护 — 之前value.Trim()在value为null时会抛NullReferenceException,现改为value?.Trim() ?? string.Empty - 清理:删除 3 个全注释死代码文件(破坏性变更 — 下游若手动引用这些类型会编译失败)
Models/GenericConverter.csModels/UserKey.csEnums/TaskState.cs
- 内部:
DateTime.Now → DateTime.UtcNow改造(ModelBase.CreatedAt/EFCoreExt.UpdateTo)曾被提交后又完整回退,净状态未变
6.4.0
2026年7月16日 星期四
- 优化所有命名空间
- 调整项目目录结构:
Crping.EFCore.*项目统一嵌套到Crping.EFCore/下
6.0.0
2025年11月27日 星期四
- 升级为
.net10.0
5.5.0
2025年10月21日 星期二
- 新增扩展方法
NotDisabled(...),NotIsDisabled(...),OnlyEnabled(...),OnlyIsEnabled(...)
5.4.0
2025年9月25日 星期四
- 新增接口
IDeletedAt,IAuditor,IAudit
5.3.0
2025年7月8日 星期二
- 新增过滤软删除扩展方法
NotSoftDeleted
5.2.1
2025年6月29日 星期日
- 新增接口
IAddress<T>
5.2.0
2025年5月22日 星期四
- 新增接口
ISoftDelete
5.1.0
2025年4月19日 星期六
- 新增接口:
IContents<T>,ITitle<T>
5.0.0
2024年11月17日 星期日
- 升级为
.net9.0 - 更新引用组件
4.5.0
2024年10月19日 星期六
- 接口
IKey<TId>,IModel<TKey>默认类型改为string
4.3.0
2024年4月12日 星期五
- 新增接口
ISortIndex<T>,IIsEnabled
4.2.0
2024年4月9日 星期二
- 新增接口
IToolkit
4.1.0
2024年3月28日 星期四
- 修改:
Cascader<TKey>为Cascade<TKey> - 新增接口:
IAccount,IAvatar,IEmail,IIsDisabled,IPhoneNumber
4.0.1
2024年3月21日 星期四
- 移除
ICreate中TKey的notnull约束
4.0.0
2024年1月27日 星期六
- 升级目标框架为
.net8.0 - 升级
Microsoft.Extensions.Configuration.Abstractions为8.0 - 与系列相关组件对齐版本号
3.20.1
2023-08-22
- 接口
ICreatedDate,ICreatedTime的日期改为不为空
3.20.0
2023-07-24
- 新增接口
IUpdatedAt - 修改接口
IUpdate<TUserKey>
3.19.0
2023-06-29
- 为所有泛型参数
TKey添加约束notnull - 重命名部分泛型参数
- 新增接口
IUpdate<TKey>,IDelete<TKey
3.18.0
2023-06-11
- 新增接口
IKeysetPagination,以及实现类KeysetPagination - 新增扩展方法
GetValue(...)
3.17.0
2023-06-07
- 新增升序扩展方法
Ascending(...) - 新增降序扩展方法
Descending(...)
3.16.0
2023-05-21
- 新增接口
ICreator<TUser, TKey>
3.15.0
2023-05-11
- 新增接口
IToVo
3.14.0
2023-05-10
IIntro修改为可空- 修改日期时间相关接口的数据类型为
DateTime? - 新增接口
INickname - 修改接口
IUserName为IUsername
3.13.0
2023-05-10
- 新增接口:
IUpdater<T>,IDeleter<T>,IAddress
3.12.0
2023-04-26
- 新增接口:
IParent<T> - 新增实体:
Cascader<TKey>
3.11.0
2023-04-20
- 新增接口
ICreate<T>
3.10.0
2023-04-15
- 项目启用可空类型
- 修复启用可空类型后产生警告的代码
- 新增接口
ICreator - 修改接口
IConnectionString,IMyConfiguration
3.8.0
2023-03-28
- 从
Crping.EFCore移入接口IConnectionString,IMyConfiguration
3.7.0
2023-02-18
- 新增接口
IKeysetPagination与类KeysetPagination
3.6.0
2023-02-03
- 将运行时修改为
net7.0
3.5.1
2023-01-03
- 新增接口:IKey:IKey<int>
3.5.0
2023-01-03
- 新增接口
IKey<>,并添加到IModel<> - 新增全局引用
Global,并优化所有代码
3.4.0
2022-05-18
- 修改 IPagination 和 Pagination 的排序方式字段
历史版本
- 3.4.0:修改 IPagination 和 Pagination 的排序方式字段
- 3.3.0:添加IGender,IIntro等一系列常用接口
- 3.2.1:重命名接口ICreatedDate,ICreatedTime,并修改其属性类型
- 3.2.0:添加枚举ProcessingStatus,接口IProcessingStatus
- 3.1.4:优化JsonPropertyOrder值
- 3.1.3:为属性添加JsonPropertyOrder
- 3.1.2:为Name属性添加字段长度限制
- 3.1.1:为属性添加[Column(Order = 0)]等
- 3.1.0:添加ModelBase,IName,ModelWithName等
- 3.0.2:Utils类改为EFCoreEx
- 3.0.1:修改PaginationData,以适应Dapr反序列化
- 3.0.0:目标框架改为.net6.0
- 1.1.3:还原Pagination的部分修改
- 1.1.2:修复Pagination的Bug
- 1.1.1:优化Pagination的CountPages()方法
- 1.1.0:Pagination 添加 QueryString 属性
- 1.0.0:提供 Crping.EFCore 组件所需基础类接口等
2022-04-01
- 重命名接口ICreatedDate,ICreatedTime,并修改其属性类型
- 添加一系列常用接口
2022-03-14
- 添加枚举:ProcessingStatus
- 添加接口:IProcessingStatus
2022-02-28
- 添加ModelBase<T>,ModelBase
- 添加IName, ModelWithName<T>,ModelWithName
- 为属性添加[Column(Order = 0)]等
- 为Name属性添加字段长度限制
- 为属性添加:JsonPropertyOrder
- 优化Column(Order = 0),JsonPropertyOrder
| 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.Extensions.Configuration.Abstractions (>= 10.0.10)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Crping.EFCore.Common:
| Package | Downloads |
|---|---|
|
Crping.EFCore
基于 `EntityFramework Core` 的数据库操作工具包基础类 |
|
|
Crping.Auth.Models
Crping.Auth 实体数据结构 |
|
|
Crping.Auth.DAL
Crping.Auth.DAL 基类 |
|
|
Crping.AuthPolicy.BLL
Package Description |
|
|
Crping.AuthPolicy.Models
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 9.1.0 | 0 | 8/15/2026 |
| 9.0.0 | 38 | 8/14/2026 |
| 8.10.0 | 59 | 8/13/2026 |
| 8.8.0 | 91 | 8/11/2026 |
| 8.7.0 | 86 | 8/11/2026 |
| 8.6.0 | 98 | 8/10/2026 |
| 8.5.0 | 102 | 8/9/2026 |
| 8.4.0 | 106 | 8/8/2026 |
| 8.3.0 | 105 | 8/8/2026 |
| 8.0.0 | 110 | 8/7/2026 |
| 7.5.0 | 112 | 8/6/2026 |
| 7.4.0 | 118 | 8/3/2026 |
| 7.3.0 | 126 | 7/30/2026 |
| 7.2.0 | 121 | 7/28/2026 |
| 7.1.0 | 120 | 7/28/2026 |
| 7.0.0 | 125 | 7/26/2026 |
| 6.4.0 | 468 | 12/31/2025 |
| 6.0.0 | 346 | 11/27/2025 |
| 5.5.0 | 292 | 10/21/2025 |
| 5.4.0 | 312 | 9/25/2025 |
8.4.0 · 2026-08-08
与 Crping.EFCore / Crping.EFCore.Controller 同步升至 8.4.0(无接口变更)