Skip to content

BaseEntity

Base class for all domain entities with audit fields and soft delete.

Properties

PropertyTypeDescription
IdGuidUnique identifier (auto-generated)
CreatedAtDateTimeCreation timestamp (UTC)
UpdatedAtDateTime?Last update timestamp
CreatedByGuid?Creator user ID
UpdatedByGuid?Last updater user ID
IsDeletedboolSoft delete flag
DeletedAtDateTime?Deletion timestamp
DeletedByGuid?User who deleted

Methods

MethodDescription
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&lt;string&gt;
{
    public override string Id { get; protected set; }
}

Released under the MIT License.