Crping.EFCore 4.7.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Crping.EFCore --version 4.7.0                
NuGet\Install-Package Crping.EFCore -Version 4.7.0                
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="Crping.EFCore" Version="4.7.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Crping.EFCore --version 4.7.0                
#r "nuget: Crping.EFCore, 4.7.0"                
#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.
// Install Crping.EFCore as a Cake Addin
#addin nuget:?package=Crping.EFCore&version=4.7.0

// Install Crping.EFCore as a Cake Tool
#tool nuget:?package=Crping.EFCore&version=4.7.0                

Crping.EFCore

基于 EntityFramework Core 的数据库操作工具包基础类,支持读写分离,支持MySQLSQL Server等,包含WebApi的增、删、改、查、分页等常用方法实现!

版本更新说明


4.7.0

2024年9月15日 星期日
  • 将引用IToolkit改为IToolkit<TUserKey>
  • 针对IToolkit<TUserKey>新增接口方法委托GetCurrentUserId修改BLL属性CurrentUserId的逻辑
  • 修改所有WebApiBLL相关类主构造
  • 以上为解决在领域实体中注入的BLL无法从内部获取当前用户ID的问题

4.6.0

2024年4月19日 星期五
  • ILogger改为泛型
  • BaseDomain新增对接口IKit的实现,增加对logcache的支持

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,并新增IWebApiForIntBLLIWebApiForLongBLL
  • 修改WebApiBLL,并新增WebApiForIntBLLWebApiForLongBLL
  • 新增委托: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相关方法对UpdatedAtUpdatedBy的赋值逻辑

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(),属性ReadIfNull
  • DAL访问属性Db时,若为Null默认初始化为ReadDb
  • BLL将默认调用的方法WriteIfNull改为ReadIfNull

3.21.0

2023-03-28
  • 将接口IConnectionStringIMyConfiguration转移到Common

3.20.1

2023-03-13
  • GetKvpsAsync的零值项目名称请选择改为全部

3.20.0

2023-02-24
  • DAL新增LongCountAsyncLongCount
  • BLL新增LongCountAsyncLongCount
  • BLL修改TotalAsync相关方法,新增最后几天限定统计

3.19.0

2023-02-17
  • DAL新增方法SetNoTrackingSetTrackAll
  • DAL_db等重要对象私有化
  • DAL将所有对私有字段的访问改为公共属性,并去除所有多余的判空逻辑
  • DAL在切换为只读库里自动关闭查询跟踪
  • BLL新增属性Dal,用于统一验证
  • BLL将所有对_dal字段的引用改为属性Dal
  • BLL并去除所有多余的判空逻辑
  • BLL新增几个未添加的接口
  • BLL新增接口IKit,属性CacheLogger

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)
  • BLL3.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
  • 添加批量删除方法ExecuteDeleteExecuteDeleteAsync

3.11.0

2022-12-09
  • 添加批量更新方法ExecuteUpdateAsyncExecuteUpdate

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添加返回值AscendingqueryOptions为空的Bug

3.9.0

2022-11-23
  • pagination添加返回值Ascending
  • 升级EFCore7.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
  1. 更新对Crping.EFCore.Common的引用,并对齐版本号

2021-07-15:

  1. IWebApiBLL接口与基础实现类添加Read,Write属性,以实现读写分离链接调用
  2. IBaseDAL接口与与基础实现类添加Read,Write属性,以实现读写分离链接调用
  3. IBaseDAL接口与与基础实现类添加ReadOnly方法,以实现以参数的方式读写分离链接调用
  4. 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 Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.AuthPolicy.DAL

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
5.0.0 116 11/17/2024
4.20.0 97 11/16/2024
4.19.0 103 11/14/2024
4.18.0 101 11/14/2024
4.17.0 98 11/12/2024
4.16.0 120 10/22/2024
4.15.0 123 10/19/2024
4.14.0 130 10/19/2024
4.13.1 95 10/16/2024
4.13.0 100 10/12/2024
4.12.0 105 10/11/2024
4.11.1 100 10/11/2024
4.11.0 93 10/11/2024
4.10.0 106 10/5/2024
4.9.0 105 9/25/2024
4.8.0 109 9/20/2024
4.7.0 185 9/15/2024 4.7.0 is deprecated because it has critical bugs.
4.6.0 267 4/19/2024
4.5.0 159 4/9/2024
4.4.0 196 4/7/2024
4.3.0 197 3/28/2024
4.2.0 218 3/15/2024
4.1.0 250 3/10/2024
4.0.0 488 1/29/2024
3.44.1 731 11/13/2023
3.44.0 936 8/30/2023
3.43.0 967 7/27/2023
3.42.0 991 7/24/2023
3.41.0 982 7/4/2023
3.40.0 1,173 6/29/2023
3.39.0 972 6/10/2023
3.38.0 1,119 5/25/2023
3.37.0 1,035 5/18/2023
3.36.1 1,020 5/17/2023
3.36.0 952 5/17/2023
3.35.0 979 5/17/2023
3.34.0 1,044 5/12/2023
3.33.0 990 5/11/2023
3.32.0 956 5/10/2023
3.22.0 1,027 4/4/2023
3.21.0 1,067 3/28/2023
3.20.1 987 3/13/2023
3.20.0 1,156 2/24/2023
3.19.0 1,082 2/17/2023
3.18.0 1,262 2/3/2023
3.17.1 1,148 1/13/2023
3.17.0 1,172 1/13/2023
3.16.0 1,155 1/9/2023
3.15.0 1,104 1/9/2023
3.14.0 1,244 1/3/2023
3.13.0 1,237 12/15/2022
3.12.0 1,239 12/9/2022
3.11.0 1,080 12/9/2022
3.10.1 1,329 11/28/2022
3.10.0 1,158 11/28/2022
3.9.1 1,241 11/26/2022
3.9.0 1,268 11/23/2022
3.8.0 1,194 9/17/2022
3.7.1 1,229 9/16/2022
3.7.0 1,212 9/16/2022
3.6.0 1,243 6/5/2022
3.5.1 2,050 5/26/2022
3.5.0 1,278 5/18/2022
3.4.0 1,366 5/13/2022
3.3.0 1,427 4/1/2022
3.1.0 1,408 12/28/2021
3.0.0 7,949 11/24/2021
2.4.0 1,243 10/22/2021
2.3.0 1,127 9/28/2021
2.2.0 1,222 9/22/2021
2.1.0 2,124 8/31/2021
2.0.1 1,171 8/17/2021
2.0.0 2,056 8/16/2021
1.5.2 1,147 8/10/2021
1.5.1 1,690 8/10/2021
1.5.0 1,741 8/6/2021
1.4.1 1,216 8/6/2021
1.4.0 1,613 7/29/2021
1.3.1 1,204 7/29/2021
1.3.0 1,122 7/26/2021
1.2.0 2,289 7/21/2021
1.1.0 2,148 7/16/2021
1.0.0 2,511 7/13/2021

基于 EF Core 的的数据库操作工具包