Domain Interfaces
Core abstractions for domain entities.
IEntity
| Member | Type | Description |
|---|---|---|
| Id | Guid | Unique identifier |
| CreatedAt | DateTime | Creation timestamp |
| IsDeleted | bool | Soft delete flag |
IEntity<TKey>
Same as IEntity but with custom key type.
IAuditable
| Member | Type | Description |
|---|---|---|
| CreatedAt | DateTime | Creation timestamp |
| UpdatedAt | DateTime? | Last update timestamp |
| CreatedBy | Guid? | Creator ID |
| UpdatedBy | Guid? | Last updater ID |
ISoftDeletable
| Member | Type | Description |
|---|---|---|
| IsDeleted | bool | Deleted flag |
| DeletedAt | DateTime? | Deletion timestamp |
| DeletedBy | Guid? | Who deleted |
| Delete(Guid?) | void | Mark as deleted |
| Restore() | void | Restore entity |
IHasTenant
| Member | Type | Description |
|---|---|---|
| TenantId | Guid | Tenant identifier |
IAggregateRoot
| Member | Type | Description |
|---|---|---|
| DomainEvents | IReadOnlyCollection<DomainEvent> | Pending events |
| AddDomainEvent(DomainEvent) | void | Add event |
| RemoveDomainEvent(DomainEvent) | void | Remove event |
| ClearDomainEvents() | void | Clear all events |