AwadyLab.EFCatalyst.Abstraction
1.0.2
dotnet add package AwadyLab.EFCatalyst.Abstraction --version 1.0.2
NuGet\Install-Package AwadyLab.EFCatalyst.Abstraction -Version 1.0.2
<PackageReference Include="AwadyLab.EFCatalyst.Abstraction" Version="1.0.2" />
<PackageVersion Include="AwadyLab.EFCatalyst.Abstraction" Version="1.0.2" />
<PackageReference Include="AwadyLab.EFCatalyst.Abstraction" />
paket add AwadyLab.EFCatalyst.Abstraction --version 1.0.2
#r "nuget: AwadyLab.EFCatalyst.Abstraction, 1.0.2"
#:package AwadyLab.EFCatalyst.Abstraction@1.0.2
#addin nuget:?package=AwadyLab.EFCatalyst.Abstraction&version=1.0.2
#tool nuget:?package=AwadyLab.EFCatalyst.Abstraction&version=1.0.2
AwadyLab.EFCatalyst.Abstraction
Contracts and entity bases for AwadyLab.EFCatalyst, for domain projects that should not depend on the full toolkit.
Overview
A domain project references this package to declare what its entities are (auditable, soft-deletable,
multi-tenant, versioned) and which services the application provides. The behaviour behind those contracts lives
in AwadyLab.EFCatalyst, referenced only by the project that owns the DbContext.
Key Highlights
- Entity Interfaces:
IEntity<TKey>,ISoftDelete,ICreationAudited,IModificationAudited,IDeletionAudited,IAuditEntity,IFullAudited,ITenantEntity<T>,IRowVersion,IActiveState,IHashableEntity,IHasDomainEvents. - Entity Bases:
Entity,AuditedEntity,SoftDeleteEntity,DeletionAuditedEntity,FullAuditedEntity,TenantEntity,AggregateRoot,FullAuditedAggregateRoot. - Service Abstractions:
ICurrentUserAccessor,ICurrentTenantAccessor,IDomainEventDispatcher,IColumnEncryptionKeyProvider, implemented by the application. - Extension Points:
IDomainEvent,IGlobalFilter<T>andIMigrationSeeder. - Shared Models and Exceptions:
PagedResult,CursorPage,HierarchyItem,EntityValidationError, and theEFCatalystConcurrencyException,EFCatalystValidationException,IntegrityViolationExceptionandTenantViolationExceptiona caller can catch without referencing the toolkit.
Installation
dotnet add package AwadyLab.EFCatalyst.Abstraction
Quickstart
public sealed class Order : FullAuditedAggregateRoot<int>, ITenantEntity<int>
{
public decimal Total { get; private set; }
public int TenantId { get; private set; }
public void Place() => AddDomainEvent(new OrderPlaced(Id));
}
The entity types and their behaviour are described in the "Domain Model" section of the AwadyLab.EFCatalyst README.
License
Proprietary — see the core package, AwadyLab.EFCatalyst.
Full documentation lives in the core package's repository (README.md).
| 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
- Microsoft.EntityFrameworkCore (>= 10.0.12)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on AwadyLab.EFCatalyst.Abstraction:
| Package | Downloads |
|---|---|
|
AwadyLab.EFCatalyst
Entity Framework Core toolkit: auditable/soft-deletable/multi-tenant entity bases, named global query filters, conditional and keyset-paging LINQ extensions, SaveChanges interceptors, model conventions, column encryption, shadow-property helpers, change-tracking audit logs and migration utilities. |
GitHub repositories
This package is not used by any popular GitHub repositories.