Crping.EFCore 5.0.0

dotnet add package Crping.EFCore --version 5.0.0                
NuGet\Install-Package Crping.EFCore -Version 5.0.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="5.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Crping.EFCore --version 5.0.0                
#r "nuget: Crping.EFCore, 5.0.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=5.0.0

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

Crping.EFCore

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

版本更新说明


5.0.0

2024年11月17日 星期日
  • 升级为 .net9.0
  • 更新引用组件,并清理替换弃用的组件

4.20.0

2024年11月16日 星期六
  • AuthenticationHeaderValue 修改为 AuthHeaderValue
  • GetAuthHeaderValue 修改为 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 新增接口 IConfigBLL
  • BLL 修改类 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日 星期日
  • 修复 BLLIQueryOptions 的相关警告
  • BLL 新增方法 GetBySelectorAsync(...)
  • BLL 新增接口 IGetListItem
  • 方法 GetForEditorAsync(...) 修改为 GetByOptionsAsync(...)

4.9.0

2024年9月25日 星期三
  • BLL 新增接口 IGetDetails<TKey>IGetForEditor<TKey>
  • BLL 新增方法 GetForEditorAsync
  • IQueryOptions 添加泛型约束

4.8.0

2024年9月20日 星期五
  • 跳过有BUG的 4.7.0
  • BLL新增方法SetCurrentUser
  • BaseDomain修改构造方法,新增可选参数,并新增属性
  • BaseDomain新增方法SyncConfig

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 net9.0 is compatible. 
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 的的数据库操作工具包