Crping.EFCore
7.4.0
dotnet add package Crping.EFCore --version 7.4.0
NuGet\Install-Package Crping.EFCore -Version 7.4.0
<PackageReference Include="Crping.EFCore" Version="7.4.0" />
<PackageVersion Include="Crping.EFCore" Version="7.4.0" />
<PackageReference Include="Crping.EFCore" />
paket add Crping.EFCore --version 7.4.0
#r "nuget: Crping.EFCore, 7.4.0"
#:package Crping.EFCore@7.4.0
#addin nuget:?package=Crping.EFCore&version=7.4.0
#tool nuget:?package=Crping.EFCore&version=7.4.0
Crping.EFCore
基于 EntityFramework Core 的数据库操作工具包基础类,支持读写分离,支持MySQL、SQL Server等,包含WebApi的增、删、改、查、分页等常用方法实现!
版本更新说明
7.4.0
2026年8月3日 星期一
与
Crping.EFCore.Common/Crping.EFCore.Controller同步升至 7.4.0
破坏性变更 — 枚举重命名
DalResult枚举重命名为ResultCode,全项目 163 处引用更新- 文件从
DalResult.cs改为ResultCode.cs
迁移指南
- 将代码中所有
DalResult替换为ResultCode
7.3.0
2026年7月30日 星期三
与
Crping.EFCore.Common/Crping.EFCore.Controller同步升至 7.3.0
破坏性变更 — 时间类型从 DateTime 改为 DateTimeOffset
- 所有 BLL 层的
DateTime.Now改为DateTimeOffset.Now(WebApiBaseBLL.cs、WebApiBaseBLL.Update.cs、WebApiBaseBLL.Delete.cs) - 统计查询
DateTime.Today改为DateTimeOffset.Now(WebApiBaseBLL.Statistics.cs) EntityHelper.DefaultTime类型从DateTime改为DateTimeOffsetEntityHelper.GenerateId()参数fixedTime从DateTime?改为DateTimeOffset?Utils.CustomTimestamp()参数fixedTime从DateTime?改为DateTimeOffset?EFCoreExt.UpdateTo()中DateTime.Now改为DateTimeOffset.Now
迁移指南
- 将实体中的
DateTime属性改为DateTimeOffset DateTime.Now改为DateTimeOffset.Now- 数据库列类型从
datetime2改为datetimeoffset
7.2.0
2026年7月28日 星期一
接口更新
MyDbContextFactory<TDb>泛型约束从IDbConfiguration更新为IAppConfigurationIDbConfiguration已删除,统一使用IAppConfiguration
Demo 示例同步更新
EntityConfigure→EntityHelper:种子数据中 16 处引用已更新IMyConfiguration→IAppConfiguration:TestDbContext 已更新.Dom→.Domain:TopicController 已更新IEnabled→IIsEnabled:StatusToggleTests 已更新
单元测试修复
CreateTests:修正 3 个 CreateAsync 测试断言(ObjectResult+ 201 状态码替代CreatedAtActionResult)CreateTests:修正空 ID 测试,验证GenerateId返回空字符串时的行为
7.1.0
2026年7月28日 星期一
SQLite 数据库支持
EntityHelper.UseDefaultTime()新增sql参数,支持不同数据库的默认时间函数(SQLite:datetime('now'),PostgreSQL:NOW(),MySQL:CURRENT_TIMESTAMP)EntityHelper.UseStringKey()/UseStringBin()新增collation参数,支持不同数据库的排序规则(SQLite:BINARY)- 消费者只需在
DbContext.OnConfiguring()中调用UseSqlite(ConnectionString)即可切换到 SQLite
新增类(向后兼容 — 旧类标记 [Obsolete])
EntityHelper:实体配置辅助类,替代EntityConfigure(名称更清晰)WebApiIntBLL:基于 int 类型用户主键的 BLL,替代WebApiForIntBLLWebApiLongBLL:基于 long 类型用户主键的 BLL,替代WebApiForLongBLL
新增方法
EntityHelper.UseUrl():URL 路径配置方法(C# 命名规范:Url而非URL)
重命名(向后兼容)
EntityConfigure→EntityHelper:旧类保留静态成员转发,扩展方法仅在新类中UseURL→UseUrl:旧方法标记[Obsolete]并转发到新方法WebApiForIntBLL→WebApiIntBLL:旧类保留并继承新类WebApiForLongBLL→WebApiLongBLL:旧类保留并继承新类
代码质量
- 修复
EntityHelper.csregion 注释拼写错误:Decimel→Decimal - 重命名私有常量
parent_error_in_create→ParentErrorInCreate(PascalCase) - 重命名私有字段
_dom→_domain(避免与 DOM 混淆) - 重命名文件
BaseDAL.Kvps.cs→BaseDAL.Kvp.cs,WebApiBaseBLL.Kvps.cs→WebApiBaseBLL.Kvp.cs
7.0.0
2026年7月26日 星期日
重大版本:含多项破坏性变更,下游升级请阅读完整说明
破坏性变更(必须关注)
- DAL 层返回值由 HTTP code (int) 改为
ResultCode枚举(200/201/204/400/403/404/409),解耦与 ASP.NET CoreStatusCodes的耦合;BaseDAL公开方法签名变化 BaseDAL和WebApiBaseBLL拆分为 partial class(按职责分离到独立文件:Create/Delete/Detail/Kvps/List/Persistence/Statistics/Update),部分内部 API 可见性变化(IDE 的"转到定义"层级会变)
安全性与并发
- DAL 层捕获
DbUpdateConcurrencyException,写操作统一返回Conflict(409);先检查实体是否存在,不存在则返回NotFound(404) - 批量操作(obsolete 路径)启用事务保护(
BeginTransactionAsync),updater 抛异常时回滚
性能
DeleteListAsync/UpdateListAsync改用ExecuteUpdateAsync/ExecuteDeleteAsync服务端执行,不再加载全部数据到内存Kvps查询改用编译表达式,绕过AsNoTracking实体的 ChangeTrackerMyDbContextFactory读副本轮询改Interlocked.Increment无锁化(替代Lock + ++index)IgnoreSpecialProperties字典映射替代 10 个if检查
可靠性与一致性
BaseDAL.Dispose模式补全:_disposed标志防重复释放;移除冗余GC.SuppressFinalizeWebApiBaseBLL移除Dispose,由 DI 容器统一管理 DAL 生命周期- 缓存层:Create / Update / Delete 不再自动调用
InvalidateTotalCacheAsync();下游若依赖 CRUD 后缓存自动失效,需改为显式调用(注意:此变更为不对称 Revert 的结果,详见 git log92a976e↔8fc943c)
API 与代码组织
- WebApiBaseBLL 同步方法标记
[Obsolete],与 BaseDAL 对齐 - WebApiBaseBLL 提取
PrepareForCreate/ValidateUpdatePreCheck/ValidateUpdateCore/BuildSelfOnlyCondition,消除多处重复 - 级联查询支持 batch 模式(
batchMode参数,一次性加载全部);引入AsyncLocal隔离IsVerifyOwner/GetCurrentUserId;新增NullableKeyWrapper解决 nullableTKey在Dictionary中的约束 BaseDAL.SetWriteDb恢复跟踪行为;Statistics统一AsNoTracking并简化为表达式体Update错误处理提取为私有方法;Kvps简化IDomain中未使用的 HTTP 类型依赖相关 refactor(commit3eb4504)已被回退(65ae448),净状态未变DateTime.Now → DateTime.UtcNow改造 + 注释死代码清理(commitff13f66)已被回退(bf06cb9),净状态未变
项目结构
- SLN 嵌套重构:将
Crping.EFCore项目从仓库根目录迁入Crping.EFCore/子目录下(与Common/Controller一致),slnx与ProjectReference路径相应更新
文档
- 所有类与方法补全 XML 文档注释
- 完整内部重构与注释微调(
aa86f80/9c916de/13d591c)
6.11.0
2026年6月16日 星期二
- 优化
Create,Update,GetOrCreate相关方法 - 移除接口
IDomainCommonMethods - 移除
BaseDomain中方法的virtual修饰符 - 升级所有相关组件版本
6.10.0
2026年6月9日 星期二
- 删除大部分方法的
virtual修饰符 - 新增方法
FirstOrDefaultAsync<TOrderKey, TResult> (IQueryOptions<TModel, TOrderKey, TResult>? options),并添加相关接口方法 - 新增方法
FirstOrDefault<TOrderKey, TResult> (IQueryOptions<TModel, TOrderKey, TResult>? options),并添加相关接口方法
6.9.2
2026年3月20日 星期五
- 为
Create相关方法添加字符串类型Id的检查与赋值逻辑,并添加异常明确的消息提示
6.9.1
2026年3月18日 星期三
- 优化创建相关方法的Id生成逻辑
6.9.0
2026年2月26日 星期三
- 扩展接口支持管理员权限:修改
IDetailsSelector、IEditorSelector、IGetDetails、IGetForEditor、IListItemSelector等接口,添加管理员权限相关方法 - 增强
WebApiBaseBLL类:添加DetailsSelectorForAdmin、EditorSelectorForAdmin、ListItemSelectorForAdmin等属性,支持管理员权限的数据选择
6.8.0
2026年2月6日 星期五
- 新增方法
ToggleDeleteStatusAsync
6.7.0
2026年2月6日 星期五
- 优化软删除相关方法逻辑
- 新增状态切换方法
ToggleEnableStatusAsync,ToggleAuditStatusAsync
6.6.0
2026年1月20日 星期二
- 新增属性
Query - 新增一系列求和、平均值方法
- 新增方法
MaxPageSize并优化相关命名
6.5.0
2026年1月19日 星期一
- 新增工具类
Toolkit
6.4.0
2025年12月31日 星期三
- 删除接口
ICreateAndUpdateByDto - 优化所有命名空间
6.3.0
2025年12月28日 星期日
BLL添加并实现接口新增接口ICommonSelectors<TModel, TResult>,IListItemSelector<TModel, TResult>,IDetailsSelector<TModel, TResult>,IEditorSelector<TModel, TResult>,ISimpleSelector<TModel, TResult>,IGetKvps- 优化方法
GetKvpsAsync - 新增接口
ICreateAndUpdateByDto
6.2.0
2025年12月25日 星期四
- 新增接口
ICommonSelectors<TModel, TResult>,IListItemSelector<TModel, TResult>,IDetailsSelector<TModel, TResult>,IEditorSelector<TModel, TResult>,ISimpleSelector<TModel, TResult>,IGetKvps - 优化方法
GetRawKvpsAsync,GetKvpsAsync
6.1.0
2025年12月2日 星期二
- 新增接口
IDomainCommonMethods<TModel, TKey>,ICreateAsync<TModel>,IUpdateAsync<TModel, TKey>,IGetDetails<TKey>
6.0.0
2025年11月27日 星期四
- 升级为
.net10.0 - 适配
ExecuteUpdate相关方法
5.11.0
2025年11月13日 星期四
- 新增接口:
ICommonMethods<TKey>,IGetModelSelector
5.10.0
2025年11月2日 星期日
- 将所有列表方法的返回值从接口改为具体类型
- 新增
Keyset分页方法GetKeysetListAsync,GetKeysetRawListAsync
5.9.0
2025年9月25日 星期四
BaseDAL添加对IAudit,IDeletedAt的支持
5.8.0
2025年9月23日 星期二
- 优化
BLL,DAL中所有更新相关方法对特殊状态属性的更新保留,并重命名部分方法
5.7.0
2025年7月31日 星期四
BLL新增方法UpdateExcludeAsyncDAL方法UpdateAsync新增更多特殊状态属性的更新保留
5.6.0
2025年7月31日 星期四
- 将
Update相关方法的数组参数添加params
5.5.0
2025年6月18日 星期三
GetByOptionsAsync与GetBySelectorAsync重命名为GetByIdAsync
5.4.3
2025年5月23日 星期五
- 修复方法
SoftDeleteAsync(...)
5.4.2
2025年5月23日 星期五
- 修复方法
SoftDeleteAsync(...)
5.4.1
2025年5月23日 星期五
WebApiBaseBLL优化方法SoftDeleteAsync(...)
5.4.0
2025年5月22日 星期四
WebApiBaseBLL新增方法SoftDeleteAsync,ResetSoftDeleteAsync
5.3.0
2025年5月21日 星期三
- 修改
BaseDAL的方法RangeLimit(...)
5.2.0
2025年4月19日 星期六
WebApiBaseBLL新增方法GetByIdAsync,GetById
5.1.1
2025年4月9日 星期三
- 优化方法:
CustomTimestamp(...)
5.1.0
2025年3月25日 星期二
BaseDAL新增属性MaxList,新增方法SetMaxList(...)WebApiBaseBLL新增方法SetMaxList(...)- 所有列表方法新增对列表最大数量的控制
5.0.2
2025年3月9日 星期日
- 统一子组件传递依赖中的组件版本
5.0.1
2025年3月9日 星期日
- 删除未使用的引用
5.0.0
2024年11月17日 星期日
- 升级为
.net9.0 - 更新引用组件,并清理替换弃用的组件
4.20.0
2024年11月16日 星期六
AuthenticationHeaderValue修改为AuthHeaderValueGetAuthHeaderValue修改为GetAuthHeaderValue
4.19.0
2024年11月14日 星期四
BaseDomain新增委托GetAuthenticationHeaderValue以及属性AuthenticationHeaderValue
4.18.0
2024年11月14日 星期四
BaseDomain新增委托GetAuthorization以及属性Authorization
4.17.0
2024年11月12日 星期二
- 修改
EntityConfigure中方法UseURL的默认值 - 新增方法
SetTable
4.16.0
2024年10月22日 星期二
EntityConfigure添加方法ToStringId(...)并修改GenerateId(...)DefaultDate改为DefaultTime
4.15.0
2024年10月20日 星期日
- 新增方法
GenerateId(...),CustomTimestamp(...) - 修改方法
UseStringKey(...)的参数顺序
4.14.0
2024年10月19日 星期六
- 新增实体配置辅助类
EntityConfigure以及一系列常用方法
4.13.1
2024年10月16日 星期三
BLL方法GetByOptionsAsync(...)修改条件控制逻辑,优化使用外部传入控制条件
4.13.0
2024年10月12日 星期六
BLL新增接口IConfigBLLBLL修改类BaseDomain的构造方法参数与相关属性BaseDomain新增方法ShareDbContext
4.12.0
2024年10月11日 星期五
BLL新增接口IGetSimple<TKey>
4.11.1
2024年10月11日 星期五
BaseDomain优化方法SyncConfig(),并移除构造方法对SyncConfig()的调用
4.11.0
2024年10月11日 星期五
BLL修改CurrentUserId属性逻辑BaseDomain修改CurrentUserId属性逻辑,以及构造函数,自动同步BLL配置- 升级
EFCore相关包引用
4.10.0
2024年10月6日 星期日
- 修复
BLL中IQueryOptions的相关警告 BLL新增方法GetBySelectorAsync(...)BLL新增接口IGetListItem- 方法
GetForEditorAsync(...)修改为GetByOptionsAsync(...)
4.9.0
2024年9月25日 星期三
BLL新增接口IGetDetails<TKey>,IGetForEditor<TKey>BLL新增方法GetForEditorAsyncIQueryOptions添加泛型约束
4.8.0
2024年9月20日 星期五
- 跳过有
BUG的 4.7.0 BLL新增方法SetCurrentUserBaseDomain修改构造方法,新增可选参数,并新增属性BaseDomain新增方法SyncConfig
4.6.0
2024年4月19日 星期五
- 将
ILogger改为泛型 BaseDomain新增对接口IKit的实现,增加对log,cache的支持
4.5.0
2024年4月9日 星期二
- 类
WebApiBaseBLL新增可选构造参数IToolkit,以方便注入外部工具 WebApiBaseBLL相关子类新增可选构造参数IToolkit,以方便注入外部工具- 方法
CheckStringId(...)修改逻辑,以调用IToolkit中的方法
4.4.0
2024年4月7日 星期日
- 清除不再使用的接口,如:
IHostBLL等 - 添加新接口;
IGenerateId - 接口
IDomain添加委托;GenerateId
4.3.0
2024年3月28日 星期四
- 新增接口:
ICacheBLL - 修改接口:
IWebApiBLL,并新增IWebApiForIntBLL,IWebApiForLongBLL - 修改
WebApiBLL,并新增WebApiForIntBLL,WebApiForLongBLL - 新增委托:
GenerateId - 所有创建相关方法添加字符串类型 Id 的检查与赋值
4.2.0
2024年3月15日 星期五
- 新增方法:
Any(...),AnyAsync(...)
4.1.0
2024年3月10日 星期日
- 新增方法:
Forbidden(...),MethodNotAllowed()
4.0.0
2024年1月27日 星期六
- 升级目标框架为
.net8.0 - 升级
EF相关组件为8.0以上最新版权 - 降级两个官方弃用的包
- 与系列相关组件对齐版本号
3.44.1
2023年11月13日 星期一
SetDb(...)方法添加相同Db判断,跳过不必要的替换
3.44.0
2023-08-30
- 新增更简洁的获取键值对方法
GetKvpsAsync
3.43.0
2023-07-27
- 为方法
GetCacheValueAsync添加默认值
3.42.0
2023-07-24
- 修改
IRelatedBLL - 修改
Update相关方法对UpdatedAt,UpdatedBy的赋值逻辑
3.41.0
2023-07-04
- 新增
IDomain<TKey>,BaseDomain<TKey>
3.40.0
2023-06-29
- 为所有泛型参数
TKey添加约束notnull - 为用户操作自动绑定用户ID添加
TUserKey,并添加notnull约束 - 修改所有接口类因添加
TUserKey所引发的所有问题 - 修复所有创建功能因接口差异无法自动绑定创建者ID的问题
- 修复所有更新功能因接口差异无法自动绑定创建者ID的问题
- 修复所有删除功能因接口差异无法自动绑定创建者ID的问题
3.39.0
2023-06-11
DAL新增方法GetKeysetRawListAsync(...),及其接口BLL新增方法GetKeysetRawListAsync(...),及其接口BLL新增方法GetKeysetListAsync(...),及其接口WebApiResponse新增方法PaginationOk(...)- 新增
Keyset分页辅助类KeysetQueryOptions
3.38.0
2023-05-25
- 修改领域接口为
IDomain,并新增委托GetCurrentUserId() - 修改领域基类为
BaseDomain,并新增委托GetCurrentUserId()
3.37.0
2023-05-18
- 新增领域接口
IDomain<TUserKey> - 新增领域基类
BaseDomain<TUserKey>
3.36.1
2023-05-17
- 将方法
FirstAsync(...),First(...)的返回值改为非可空类型
3.36.0
2023-05-17
DAL新增方法:FirstAsync(...),First(...)BLL新增方法:FirstAsync(...),First(...)BLL新增方法:TryCreateAsync(...),TryCreate(...)
3.35.0
2023-05-17
- 新增方法
TryCreateAsync(...),TryCreate(...)
3.34.0
2023-05-12
- 新增种子数据接口
ISeedData<T>
3.33.0
2023-05-11
QueryOptions新增属性SelectFunc,并在所有列表相关方法中添加对其使用
3.32.0
2023-04-26
- 修复方法
GetOrCreateAsync(...)系列方法内部查询库与创建库不一致的问题 - 新增方法:
GetCascaderAsync(...)
3.31.0
2023-04-23
QueryOptions新增查询标签属性Tag- 为所有相关搜索列表方法添加对
TagWith的调用
3.30.0
2023-04-04
- 启用可空类型
- 修复启用可空类型后产生的所有警告
3.22.0
2023-04-04
DAL新增方法SetReadDbIfNull(),属性ReadIfNullDAL访问属性Db时,若为Null默认初始化为ReadDbBLL将默认调用的方法WriteIfNull改为ReadIfNull
3.21.0
2023-03-28
- 将接口
IConnectionString,IMyConfiguration转移到Common
3.20.1
2023-03-13
- 将
GetKvpsAsync的零值项目名称请选择改为全部
3.20.0
2023-02-24
DAL新增LongCountAsync,LongCountBLL新增LongCountAsync,LongCountBLL修改TotalAsync相关方法,新增最后几天限定统计
3.19.0
2023-02-17
DAL新增方法SetNoTracking,SetTrackAllDAL将_db等重要对象私有化DAL将所有对私有字段的访问改为公共属性,并去除所有多余的判空逻辑DAL在切换为只读库里自动关闭查询跟踪BLL新增属性Dal,用于统一验证BLL将所有对_dal字段的引用改为属性DalBLL并去除所有多余的判空逻辑BLL新增几个未添加的接口BLL新增接口IKit,属性Cache,Logger
3.18.0
2023-02-03
- 将运行时修改为
net7.0
3.17.1
2023-01-13
BLL修改方法Task<IActionResult> TotalAsync()中的默认缓存Key
3.17.0
2023-01-13
BLL新增方法Task<int> TotalAsync(string, TimeSpan?, TimeSpan?)BLL新增方法Task<IActionResult> TotalAsync()
3.16.0
2023-01-09
DAL新增方法(int, TModel) CreateModel(TModel model)BLL新增方法(int, TModel) CreateModel(TModel model)BLL将3.15版所有新增方法的返回值改为(int, TModel)
3.15.0
2023-01-09
DAL新增同步方法FirstOrDefault(condition)BLL新增方法GetOrCreate(model),GetOrCreateAsync(model)BLL新增方法GetOrCreate(model, condition),GetOrCreateAsync(model, condition)
3.14.0
2023-01-03
- 更新对
Crping.EFCore.Common的引用,EFCore相关组件的升级 - 新增全局引用
Global,并优化所有引用、命名空间、以及部分注释
3.13.0
2022-12-15
- 新增接口
IMyConfiguration,用于向DbContext相关类传递配置对象 MyDbContextFactory<TDb>类添加IConfiguration属性,并通过方法CreateDbContext将此属性赋值给DbContext相关类
3.12.0
2022-12-09
- 添加批量删除方法
ExecuteDelete,ExecuteDeleteAsync
3.11.0
2022-12-09
- 添加批量更新方法
ExecuteUpdateAsync,ExecuteUpdate
3.10.1
2022-11-28
- 解决'pagination'添加返回值'orderBy'在不同.net版本中的返回值不同的问题
3.10.0
2022-11-28
- DAL的列表分页返回类型'pagination'添加返回值'orderBy'
3.9.1
2022-11-26
- 解决
pagination添加返回值Ascending时queryOptions为空的Bug
3.9.0
2022-11-23
pagination添加返回值Ascending- 升级
EFCore到7.0.0
3.8.0
2022-09-17
GetValueFromCacheAsync重命令为GetCacheValueAsync,并删除参数isRefresh- 新增重载方法
Task<int> GetCacheValueAsync(string key, Func<Task<int>> getNewValue, TimeSpan? slidingExpiration, TimeSpan? absoluteExpirationRelativeToNow)
3.7.1
2022-09-16
GetPageCountFromCacheAsync重命名为GetValueFromCacheAsync- 修改
GetValueFromCacheAsync的委托参数的返回类型,以支持异步方法
3.7.0
2022-09-16
- 添加内部工具类
Utils - 添加分页缓存方法:
GetPageCountFromCacheAsync
3.6.0
2022-06-05
- 将所有DAL中业务相关逻辑转移到BLL,并将部分强制更新字段改为可选更新
2022-05-18
- 修改所有InitDb相关方法
- BLL层添加SetReadDb,SetWriteDb方法
2022-04-01
- 更新对Crping.EFCore.Common的引用,并对齐版本号
2021-07-15:
- IWebApiBLL接口与基础实现类添加Read,Write属性,以实现读写分离链接调用
- IBaseDAL接口与与基础实现类添加Read,Write属性,以实现读写分离链接调用
- IBaseDAL接口与与基础实现类添加ReadOnly方法,以实现以参数的方式读写分离链接调用
- IWebApiBLL接口与基础实现类去除所有readOnly参数,改为链式调用
历史记录
- 3.6.0:将所有DAL中业务相关逻辑转移到BLL,并将部分强制更新字段改为可选更新
- 3.5.1:更新引用组件版本
- 3.5.0:修改所有InitDb相关方法,BLL层添加SetReadDb,SetWriteDb方法
- 3.4.0:添加IHostBLL,删除IRelatedBLL,并修改相关方法
- 3.3.0:更新对Crping.EFCore.Common的引用,并对齐版本号
- 3.1.0:给所有方法添加判空逻辑,DbContextFactory类改为MyDbContextFactory
- 3.0.0:目标框架改为.net6.0,并引用EFCore6.0
- 2.4.0:新增方法:ShareCurrentUserIdFunc,重命名方法:ShareDbContext
- 2.3.0:新增方法 GetRawKvpsAsync,并升级EFCore到5.0.10
- 2.2.0:添加带条件的 Include 扩展方法
- 2.1.0:修改默认排序BUG,新增IDisposable, IAsyncDisposable
- 2.0.2:获取列表相关方法添加默认以ID为排序方式的升降序配置
- 2.0.1:CreateDbContext ReadOnly时添加Lock,以防多线程处理时数组越界
- 2.0.0:使用自定义DbContextFactory,延迟创建DbContext等(重大改版!!!)
- 1.5.3:GetKvpsAsync添加参数,修改默认排序
- 1.5.2:修复共享DbContext时的Bug
- 1.5.1:添加DbContext共享
- 1.5.0:重要!!,添加并实现IRelatedBLL接口,拆分DAL,BLL为CRUD等接口
- 1.4.1:去除GetCurrentUserID未赋值时的默认值0,暴露BUG
- 1.4.0:增加并修改DAL、BLL层相关列表方法
- 1.3.1:简化Get类方法重载的参数
- 1.3.0:BLL中的列表方法添加一系列重载
- 1.2.0:修改DAL,BLL的实现基类名称
- 1.1.0:添加Read、Write属性以链式调用方式取代传参方式。
- 1.0.0:包含数据库常规操作的DAL基类,WebApi常规操作的BLL基类等
| 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
- Crping.EFCore.Common (>= 7.4.0)
- Microsoft.AspNetCore.Mvc.Core (>= 2.3.11)
- Microsoft.EntityFrameworkCore (>= 10.0.10)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Newtonsoft.Json (>= 13.0.4)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Crping.EFCore:
| Package | Downloads |
|---|---|
|
Crping.EFCore.Controller
基于 Crping.EFCore 的 WebApi 控制器基类 |
|
|
Crping.Auth.BLL
Crping.Auth 的业务逻辑层 |
|
|
Crping.Auth.MySql.DAL
Crping.Auth.DAL 的 MySql 实现 |
|
|
Crping.AuthPolicy.BLL
Package Description |
|
|
Crping.Auth.Domain
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 7.4.0 | 0 | 8/3/2026 |
| 7.3.0 | 44 | 7/30/2026 |
| 7.2.0 | 104 | 7/28/2026 |
| 7.1.0 | 95 | 7/28/2026 |
| 7.0.0 | 105 | 7/26/2026 |
| 6.11.0 | 175 | 6/20/2026 |
| 6.10.0 | 158 | 6/9/2026 |
| 6.9.2 | 187 | 3/20/2026 |
| 6.9.1 | 140 | 3/18/2026 |
| 6.9.0 | 201 | 2/26/2026 |
| 6.8.0 | 162 | 2/6/2026 |
| 6.7.0 | 156 | 2/6/2026 |
| 6.6.0 | 170 | 1/20/2026 |
| 6.5.0 | 160 | 1/19/2026 |
| 6.4.0 | 202 | 12/31/2025 |
| 6.3.0 | 187 | 12/27/2025 |
| 6.2.0 | 266 | 12/25/2025 |
| 6.1.0 | 761 | 12/2/2025 |
| 6.0.0 | 294 | 11/27/2025 |
| 5.11.0 | 381 | 11/13/2025 |
7.4.0 · 2026-08-03
DalResult 重命名为 ResultCode,全项目 163 处引用更新