KamiSama.Chassis.Commons
10.0.11.2
See the version list below for details.
dotnet add package KamiSama.Chassis.Commons --version 10.0.11.2
NuGet\Install-Package KamiSama.Chassis.Commons -Version 10.0.11.2
<PackageReference Include="KamiSama.Chassis.Commons" Version="10.0.11.2" />
<PackageVersion Include="KamiSama.Chassis.Commons" Version="10.0.11.2" />
<PackageReference Include="KamiSama.Chassis.Commons" />
paket add KamiSama.Chassis.Commons --version 10.0.11.2
#r "nuget: KamiSama.Chassis.Commons, 10.0.11.2"
#:package KamiSama.Chassis.Commons@10.0.11.2
#addin nuget:?package=KamiSama.Chassis.Commons&version=10.0.11.2
#tool nuget:?package=KamiSama.Chassis.Commons&version=10.0.11.2
KamiSama.Chassis.Commons
Version: 10.0.0
Description
Reusable feature and repository base classes for common CRUD-style application flows. Use this package when building service-layer features around entities, DTOs, repositories, and paged results.
How to use
dotnet add package KamiSama.Chassis.Commons --version 10.0.0
Derive a focused feature from a generic workflow, implement its validation or mapping hooks, and register the concrete feature and repository with your application:
using KamiSama.Chassis.Commons.Features;
public sealed class FindProduct(IProductRepository repository)
: GenericFindByIdFeature<Product, ProductDto, IProductRepository, Guid>(repository)
{
protected override Task<ProductDto> ConvertToDto(Product entity, CancellationToken cancellationToken)
=> Task.FromResult(new ProductDto(entity.Id, entity.Name));
}
Create and update hooks run around repository mutation; find and delete workflows throw HTTP not-found exceptions for missing entities; exists workflows delegate directly. GenericRepository is EF Core based, applies the same search hook to list and count queries, and relies on the injected DbContext lifetime and save behavior inherited from DbRepository. The delete guard returns without deleting when it yields false and does not report why.
Namespaces
- KamiSama.Chassis.Commons.Features (16 types)
- KamiSama.Chassis.Commons.Repositories (2 types)
Types
- KamiSama.Chassis.Commons.Features.FeatureDefinitionBase<TEntity, TEntityDto, TAddRequest, TUpdateRequest, TRepository, TSearchModel, TKey> - Binds the entity, DTO, add request, update request, repository, search model, and key types once for a CRUD-style feature set. Use it as a typed shell when several features in the same module work over the same entity and repository.
- KamiSama.Chassis.Commons.Features.FeatureDefinitionBase<TEntity, TEntityDto, TAddRequest, TUpdateRequest, TRepository, TSearchModel, TKey>.AddFeatureBase - Nested create-flow base class from
FeatureDefinitionBase. Use it after the feature definition has already bound the entity, DTO, add-request, repository, search-model, and key types, so each concrete add feature only implements duplicate checking and mapping. - KamiSama.Chassis.Commons.Features.FeatureDefinitionBase<TEntity, TEntityDto, TAddRequest, TUpdateRequest, TRepository, TSearchModel, TKey>.DeleteFeatureBase - Nested delete-flow base class from
FeatureDefinitionBase. Use it for delete features that load an entity by id, optionally check whether deletion is allowed, and delete through the bound repository. - KamiSama.Chassis.Commons.Features.FeatureDefinitionBase<TEntity, TEntityDto, TAddRequest, TUpdateRequest, TRepository, TSearchModel, TKey>.ExistsByIdFeatureBase - Nested exists-by-id base class from
FeatureDefinitionBase. Use it for simple features that expose repository existence checks through an application feature interface. - KamiSama.Chassis.Commons.Features.FeatureDefinitionBase<TEntity, TEntityDto, TAddRequest, TUpdateRequest, TRepository, TSearchModel, TKey>.FindByIdFeatureBase - Nested find-by-id base class from
FeatureDefinitionBase. Use it for query features that load a single entity by key, throw the package not-found exception when missing, and map the entity to a DTO. - KamiSama.Chassis.Commons.Features.FeatureDefinitionBase<TEntity, TEntityDto, TAddRequest, TUpdateRequest, TRepository, TSearchModel, TKey>.ListFeatureBase - Nested list-flow base class from
FeatureDefinitionBase. Use it for paged list features that read a repository page and map each entity to the DTO type bound by the feature definition. - KamiSama.Chassis.Commons.Features.FeatureDefinitionBase<TEntity, TEntityDto, TAddRequest, TUpdateRequest, TRepository, TSearchModel, TKey>.UpdateFeatureBase - Nested update-flow base class from
FeatureDefinitionBase. Use it for update features that load an entity by id, optionally check duplicate state, patch the entity from the request, and save through the bound repository. - KamiSama.Chassis.Commons.Features.GenericAddFeature<TAddRequest, TRepository, TEntity, TEntityDto> - Base implementation for create use cases.
AddAsyncchecks duplicate state, converts the request to an entity, persists it through the repository, and returns a DTO. - KamiSama.Chassis.Commons.Features.GenericDeleteFeature<TEntity, TRepository, TKey> - Base implementation for delete use cases.
DeleteAsyncloads the entity by id, callsCanBeDeletedAsync, and deletes the entity only when the hook allows it. - KamiSama.Chassis.Commons.Features.GenericExistsByIdFeature<TEntity, TRepository, TKey> - Base implementation for exists-by-id checks. It keeps application feature code thin by delegating directly to the repository contract.
- KamiSama.Chassis.Commons.Features.GenericExistsByNameFeature<TEntity, TRepository> - Base implementation for exists-by-name checks. It keeps application feature code thin by delegating directly to the repository contract.
- KamiSama.Chassis.Commons.Features.GenericFindByIdFeature<TEntity, TEntityDto, TRepository, TKey> - Base implementation for find-by-id use cases. It loads an entity through the repository, throws
NotFoundException<TEntity>when missing, and maps the entity to a DTO. - KamiSama.Chassis.Commons.Features.GenericFindByNameFeature<TEntity, TEntityDto, TRepository> - Base implementation for find-by-name use cases. It loads an entity through the repository, throws
NotFoundException<TEntity>when missing, and maps the entity to a DTO. - KamiSama.Chassis.Commons.Features.GenericListFeature<TEntity, TEntityDto, TSearchModel, TRepository, TPagedResult, TRepositoryPagedResult> - Base implementation for paged list use cases. It delegates paging to the repository and maps repository entities into the DTO result shape expected by callers.
- KamiSama.Chassis.Commons.Features.GenericListFeature<TEntity, TEntityDto, TSearchModel, TRepository> - Base implementation for paged list use cases. It delegates paging to the repository and maps repository entities into the DTO result shape expected by callers.
- KamiSama.Chassis.Commons.Features.GenericUpdateFeature<TUpdateRequest, TEntity, TRepository, TKey> - Base implementation for update use cases.
UpdateAsyncloads the entity by id, runs duplicate checks, lets the derived class patch the entity, and saves it through the repository. - KamiSama.Chassis.Commons.Repositories.GenericRepository<TEntity, TSearchModel, TDbContext, TPagedResult> - Base EF Core repository for paged application repositories. Derive from it when you need the common list/count flow and only want to provide entity-specific search filtering.
- KamiSama.Chassis.Commons.Repositories.GenericRepository<TEntity, TSearchModel, TDbContext> - Base EF Core repository for paged application repositories. Derive from it when you need the common list/count flow and only want to provide entity-specific search filtering.
| 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
- KamiSama.Chassis.Commons.Abstractions (>= 10.0.11.2)
- KamiSama.Chassis.HttpExceptions (>= 10.0.11.2)
- KamiSama.Repositories.EntityFrameworkCore (>= 10.0.11.2)
NuGet packages (14)
Showing the top 5 NuGet packages that depend on KamiSama.Chassis.Commons:
| Package | Downloads |
|---|---|
|
Polareum.Identity.Core
Package Description |
|
|
Polareum.Otp.Core
Package Description |
|
|
Polareum.Contents.Core
Package Description |
|
|
Polareum.Ticketing.Core
Package Description |
|
|
Polareum.Localization.Core
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.11.9 | 154 | 8/24/2026 |
| 10.0.11.8 | 293 | 8/21/2026 |
| 10.0.11.7 | 265 | 8/21/2026 |
| 10.0.11.6 | 334 | 8/19/2026 |
| 10.0.11.5 | 300 | 8/18/2026 |
| 10.0.11.4 | 306 | 8/18/2026 |
| 10.0.11.3 | 288 | 8/18/2026 |
| 10.0.11.2 | 276 | 8/18/2026 |
| 10.0.11.1 | 225 | 8/15/2026 |
| 10.0.11 | 176 | 8/11/2026 |
| 10.0.10.2 | 186 | 8/4/2026 |
| 10.0.10.1 | 110 | 7/31/2026 |
| 10.0.10 | 240 | 7/30/2026 |
| 10.0.9 | 187 | 6/20/2026 |
| 10.0.7 | 729 | 5/1/2026 |
| 10.0.6 | 255 | 4/16/2026 |
| 10.0.1 | 350 | 11/26/2025 |
| 10.0.0 | 256 | 11/22/2025 |
| 3.1.6 | 243 | 11/7/2025 |
| 3.1.5 | 240 | 11/6/2025 |