Sparkdo.Uow.Abstractions 1.0.1

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Sparkdo.Uow.Abstractions --version 1.0.1
                    
NuGet\Install-Package Sparkdo.Uow.Abstractions -Version 1.0.1
                    
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="Sparkdo.Uow.Abstractions" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sparkdo.Uow.Abstractions" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Sparkdo.Uow.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sparkdo.Uow.Abstractions --version 1.0.1
                    
#r "nuget: Sparkdo.Uow.Abstractions, 1.0.1"
                    
#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.
#:package Sparkdo.Uow.Abstractions@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sparkdo.Uow.Abstractions&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Sparkdo.Uow.Abstractions&version=1.0.1
                    
Install as a Cake Tool

Sparkdo.Uow.Abstractions

Sparkdo 工作单元抽象库,提供工作单元模式的核心接口和基础类实现。

功能特性

  • 工作单元模式核心接口定义
  • 事务管理抽象
  • 数据库 API 容器抽象
  • 事件发布机制抽象
  • 与 Sparkdo 框架无缝集成

安装

<PackageReference Include="Sparkdo.Uow.Abstractions" Version="x.x.x" />

核心组件

IUnitOfWork

工作单元核心接口,定义了工作单元的基本功能:

  • Id: 工作单元唯一标识符
  • Items: 附加项集合
  • Options: 配置选项
  • Outer: 外层工作单元引用
  • SaveChangesAsync(): 保存更改
  • CompleteAsync(): 完成工作单元(提交事务)
  • RollbackAsync(): 回滚工作单元
  • Reserve(): 保留工作单元
  • 事件:Failed(失败事件)、Disposed(释放事件)

IUnitOfWorkManager

工作单元管理器接口,用于创建和管理工作单元:

  • Current: 获取当前工作单元
  • BeginAsync(): 开始新的工作单元
  • ReserveAsync(): 保留工作单元
  • BeginReserved(): 开始已保留的工作单元
  • TryBeginReserved(): 尝试开始已保留的工作单元

IUnitOfWorkOptions

工作单元配置选项接口:

  • IsTransactional: 是否启用事务
  • IsolationLevel: 事务隔离级别
  • Timeout: 超时时间(毫秒)

容器接口

  • IDatabaseApiContainer: 数据库 API 容器
  • ITransactionApiContainer: 事务 API 容器

事件系统

  • IUnitOfWorkEventPublisher: 工作单元事件发布器
  • UnitOfWorkEventRecord: 工作单元事件记录
  • UnitOfWorkEventArgs: 工作单元事件参数
  • UnitOfWorkFailedEventArgs: 工作单元失败事件参数

扩展性

该库提供了完整的工作单元抽象实现,可以通过以下方式扩展:

  1. 实现具体的 IUnitOfWork 来提供特定数据库的工作单元实现
  2. 实现 IDatabaseApiITransactionApi 来提供数据库和事务操作
  3. 实现 IUnitOfWorkEventPublisher 来处理工作单元事件发布
  4. 通过自定义特性或拦截器来增强工作单元功能

代码结构说明

本项目包含以下主要组件:

核心接口

  • IUnitOfWork: 工作单元核心接口
  • IUnitOfWorkManager: 工作单元管理器接口
  • IUnitOfWorkOptions: 工作单元配置选项接口

容器接口

  • IDatabaseApiContainer: 数据库 API 容器接口
  • ITransactionApiContainer: 事务 API 容器接口

事件相关

  • IUnitOfWorkEventPublisher: 工作单元事件发布器接口
  • NullUnitOfWorkEventPublisher: 空事件发布器实现
  • UnitOfWorkEventRecord: 工作单元事件记录类
  • UnitOfWorkEventArgs: 工作单元事件参数类
  • UnitOfWorkFailedEventArgs: 工作单元失败事件参数类

特性

  • UnitOfWorkAttribute: 工作单元特性,用于声明方法或类需要工作单元支持

模块配置

  • SparkdoUowAbstractionsModule: 工作单元抽象模块配置

资源

  • 本地化资源文件支持

所有公共接口和类都添加了详细的 XML 文档注释,便于开发者理解和使用。

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Sparkdo.Uow.Abstractions:

Package Downloads
Sparkdo.Uow

Sparkdo 框架的工作单元模式实现。提供完整的工作单元功能实现,包括事务管理、事件发布、数据库 API 管理等核心功能。

Sparkdo.Caching

Sparkdo 缓存库,提供分布式缓存功能实现

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2-preview.4 89 2/8/2026
1.0.2-preview.3 123 2/1/2026
1.0.2-preview.2 141 1/31/2026
1.0.2-preview.1 202 12/4/2025
1.0.1 2,110 11/27/2025
1.0.0 2,032 11/25/2025
1.0.0-preview.5 121 10/24/2025