namespace MiGu.DB.Abstractions.Entities; public interface IEntity { TKey Id { get; set; } } public interface IAuditable { DateTimeOffset CreatedAt { get; set; } DateTimeOffset UpdatedAt { get; set; } string CreatedBy { get; set; } string UpdatedBy { get; set; } } public interface ISoftDeletable { bool IsDeleted { get; set; } DateTimeOffset? DeletedAt { get; set; } string DeletedBy { get; set; } } public interface IVersioned { long Version { get; set; } } public interface ILockable { bool IsLock { get; set; } } public interface IRemarkable { string Remark { get; set; } } public interface IExtendable { string Extend { get; set; } } public interface IHistoryEntry { }