Sparkdo.EntityFrameworkCore
1.0.1
See the version list below for details.
dotnet add package Sparkdo.EntityFrameworkCore --version 1.0.1
NuGet\Install-Package Sparkdo.EntityFrameworkCore -Version 1.0.1
<PackageReference Include="Sparkdo.EntityFrameworkCore" Version="1.0.1" />
<PackageVersion Include="Sparkdo.EntityFrameworkCore" Version="1.0.1" />
<PackageReference Include="Sparkdo.EntityFrameworkCore" />
paket add Sparkdo.EntityFrameworkCore --version 1.0.1
#r "nuget: Sparkdo.EntityFrameworkCore, 1.0.1"
#:package Sparkdo.EntityFrameworkCore@1.0.1
#addin nuget:?package=Sparkdo.EntityFrameworkCore&version=1.0.1
#tool nuget:?package=Sparkdo.EntityFrameworkCore&version=1.0.1
Sparkdo.EntityFrameworkCore
Sparkdo Entity Framework Core 集成库,提供与 EF Core 的深度集成支持。
功能特性
- Entity Framework Core 数据库上下文抽象
- 异步查询提供者支持
- 实体历史记录功能
- 变更跟踪器支持
- 全局过滤器支持
- 分布式事件集成
- 与 Sparkdo 框架无缝集成
安装
<PackageReference Include="Sparkdo.EntityFrameworkCore" Version="x.x.x" />
核心组件
IEFCoreDbContext
Entity Framework Core 数据库上下文接口,扩展了基础的 DbContext 功能:
SaveChangesOnDbContextAsync(): 直接调用 EF Core 的 SaveChangesAsync 方法- 完整的实体操作方法(Add, Update, Remove, Attach等)
- 异步查询支持(FindAsync, FirstAsync等)
DefaultEFCoreAsyncQueryableProvider
Entity Framework Core 异步查询提供者默认实现,提供对 EF Core IQueryable 的异步操作支持:
CanExecute(): 检查查询提供者是否可以执行指定类型的查询- 完整的异步 LINQ 操作支持(AnyAsync, AllAsync, CountAsync, FirstAsync等)
- 聚合函数支持(SumAsync, AverageAsync, MinAsync, MaxAsync等)
SparkdoEntityFrameworkCoreModule
Sparkdo Entity Framework Core 模块,负责注册相关服务:
IEFCoreDbContextTypeProvider: EF Core 数据库上下文类型提供者IAsyncQueryableProvider: 异步查询提供者IEntityHistoryHelper: 实体历史帮助器SparkdoEFCoreNavigationHelper: EF Core 导航帮助器
扩展性
该库提供了完整的 EF Core 集成功能实现,可以通过以下方式扩展:
- 实现自定义的
IEFCoreDbContext来提供特定的数据库上下文功能 - 实现自定义的
IAsyncQueryableProvider来提供特定的异步查询功能 - 实现自定义的
IEntityHistoryHelper来提供实体历史记录功能 - 通过模块配置添加自定义服务
代码结构说明
本项目包含以下主要组件:
数据库上下文
IEFCoreDbContext: Entity Framework Core 数据库上下文接口ISparkdoEFCoreDbContext: Sparkdo EF Core 数据库上下文接口IEFCoreDbContextTypeProvider: EF Core 数据库上下文类型提供者接口
查询提供者
IAsyncQueryableProvider: 异步查询提供者接口DefaultEFCoreAsyncQueryableProvider: 默认 EF Core 异步查询提供者实现
实体历史
IEntityHistoryHelper: 实体历史帮助器接口DefaultEntityHistoryHelper: 默认实体历史帮助器实现
变更跟踪
IChangeTracker: 变更跟踪器接口DefaultChangeTracker: 默认变更跟踪器实现
全局过滤器
IDataFilter: 数据过滤器接口DefaultDataFilter: 默认数据过滤器实现
模块配置
SparkdoEntityFrameworkCoreModule: Sparkdo EF Core 模块配置
所有公共接口和类都添加了详细的 XML 文档注释,便于开发者理解和使用。
| 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
- JetBrains.Annotations (>= 2025.2.2)
- Microsoft.EntityFrameworkCore (>= 10.0.0)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.0)
- Microsoft.Extensions.Caching.Memory (>= 10.0.0)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.0)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 10.0.0)
- Microsoft.Extensions.Configuration.Json (>= 10.0.0)
- Microsoft.Extensions.Configuration.UserSecrets (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- Microsoft.Extensions.DependencyModel (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Composite (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Embedded (>= 10.0.0)
- Microsoft.Extensions.FileProviders.Physical (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Localization (>= 10.0.0)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.0)
- Nito.AsyncEx.Context (>= 5.1.2)
- Sparkdo.Ddd.Domain (>= 1.0.1)
- Sparkdo.Threading (>= 1.0.1)
- System.Linq.Dynamic.Core (>= 1.7.0)
- TimeZoneConverter (>= 7.2.0)
NuGet packages (11)
Showing the top 5 NuGet packages that depend on Sparkdo.EntityFrameworkCore:
| Package | Downloads |
|---|---|
|
Sparkdo.EntityFrameworkCore.Sqlite
Sparkdo Entity Framework Core SQLite 集成库,提供与 SQLite 数据库的深度集成支持 |
|
|
Sparkdo.EntityFrameworkCore.SqlServer
Sparkdo Entity Framework Core SQL Server 集成库,提供与 SQL Server 数据库的深度集成支持 |
|
|
Sparkdo.EntityFrameworkCore.MySql
Sparkdo Entity Framework Core MySQL 集成库,提供与 MySQL 数据库的深度集成支持 |
|
|
Sparkdo.FeatureManagement.EntityFrameworkCore
Sparkdo 功能管理EntityFrameworkCore实现,提供基于EF Core的功能管理数据访问实现 |
|
|
Sparkdo.EntityFrameworkCore.PostgreSql
Sparkdo Entity Framework Core PostgreSQL 集成库,提供与 PostgreSQL 数据库的深度集成支持 |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.2-preview.1 | 139 | 12/4/2025 |
| 1.0.1 | 240 | 11/27/2025 |
| 1.0.0 | 239 | 11/25/2025 |
| 1.0.0-preview.5 | 92 | 10/24/2025 |