BaseEntity
Base class for all domain entities with audit fields and soft delete.
Properties
| Property | Type | Description |
|---|---|---|
| Id | Guid | Unique identifier (auto-generated) |
| CreatedAt | DateTime | Creation timestamp (UTC) |
| UpdatedAt | DateTime? | Last update timestamp |
| CreatedBy | Guid? | Creator user ID |
| UpdatedBy | Guid? | Last updater user ID |
| IsDeleted | bool | Soft delete flag |
| DeletedAt | DateTime? | Deletion timestamp |
| DeletedBy | Guid? | User who deleted |
Methods
| Method | Description |
|---|---|
| Delete(Guid? deletedBy) | Marks entity as deleted |
| Restore() | Restores a deleted entity |
| MarkAsUpdated(Guid? updatedBy) | Updates audit fields |
| SetCreatedBy(Guid? createdBy) | Sets creator |
Usage
csharp
public class Product : BaseEntity
{
public string Name { get; private set; }
public decimal Price { get; private set; }
}BaseEntity<TKey>
For entities with custom key types:
csharp
public class Order : BaseEntity<string>
{
public override string Id { get; protected set; }
}