Defining entities
Entities are the main classes to define your domain model. If you are using a relational database, an entity is generally mapped to a database table. An object-relational mapper (ORM), such as EF Core, provides abstractions to make you feel as though you are working with objects in your application code rather than database tables.
ABP Framework standardizes defining entities by providing some interfaces and base classes. In the next sections, you will learn about ABP Framework's AggregateRoot
and Entity
base classes (and their variants), using single primary keys (PKs) and composite PKs (CPKs) with these classes and working with globally unique identifier (GUID) PKs.
AggregateRoot classes
An aggregate is a cluster of objects (entities and value objects) bound together by an aggregate root object.
Relational databases do not have a physical aggregate concept. Every entity is related to a separate database table, and an aggregate is spread into more...