abp-entity-patterns

Standardize ABP domain layer patterns for entities, repositories, and data seeding.

Updated Jan 23, 2026
One-click install
npx skills add https://github.com/alexsandrocruz/DominusLeads --skill abp-entity-patterns-alexsandrocruz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: abp-entity-patterns
Source: https://github.com/alexsandrocruz/DominusLeads/tree/main/backend/Sapienza.Leads/.claude/skills/abp-entity-patterns
Command: npx skills add https://github.com/alexsandrocruz/DominusLeads --skill abp-entity-patterns-alexsandrocruz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill standardizes ABP domain layer patterns for entities, aggregates, repositories, domain services, and data seeding. It provides reusable patterns and guidelines to enforce clean architecture in ABP-based projects, promoting consistency across modules.

Core Features & Use Cases

  • Entity base classes: guidance on choosing Entity, AuditedEntity, FullAuditedEntity, AggregateRoot, and FullAuditedAggregateRoot to ensure proper auditing, deletion, and multi-tenancy support.
  • Repository patterns: templates for custom EF Core repositories and how to expose domain-focused queries while preserving DDD boundaries.
  • Domain services: how to encapsulate cross-entity business rules within DomainService components.
  • Data seeding: using DataSeedContributor patterns to bootstrap consistent test and demo data.

Quick Start

Use these patterns to scaffold a sample ABP module with an example entity, a custom repository, a domain service, and a data seeding contributor.

Frequently Asked Questions about abp-entity-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose the right ABP entity base class for domain modeling?

Choosing an ABP entity base class depends on your domain modeling needs for auditing, deletion, and multi-tenancy. You select from Entity, AuditedEntity, FullAuditedEntity, AggregateRoot, and FullAuditedAggregateRoot to enforce clean architecture boundaries.

What is the best way to structure custom repositories in ABP Framework?

Structuring custom repositories in ABP involves using EF Core repository templates to expose domain-focused queries. This approach preserves DDD boundaries while allowing scalable data access and consistent domain modeling across ABP-based project modules.

How do I implement idempotent data seeding in ABP?

Idempotent data seeding in ABP uses the DataSeedContributor pattern to bootstrap consistent test and demo data. This ensures scalable data initialization across modules without duplicating records during application startup.

When should I use a domain service instead of an entity in ABP?

Use a domain service in ABP when you need to encapsulate cross-entity business rules that do not naturally belong to a single entity. DomainService components maintain clean architecture by keeping domain logic centralized and reusable.

Does ABP framework support multi-tenancy with aggregate roots?

ABP framework supports multi-tenancy with aggregate roots through the FullAuditedAggregateRoot base class. This provides built-in auditing, soft deletion, and multi-tenancy support for scalable domain modeling.

How do I scaffold an ABP module with DDD patterns?

Scaffolding an ABP module with DDD patterns involves creating an example entity, custom EF Core repository, domain service, and data seeding contributor. This enforces consistent domain modeling and explicit repository boundaries.