using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations; namespace Persistence.Database.Model; /// /// Часть записи, описывающая изменение /// public class ChangeLog : IChangeLog { /// /// Ключ записи /// [Key, Column("Id")] public Guid Id { get; set; } /// /// Дискриминатор таблицы /// [Column("IdDiscriminator")] public Guid IdDiscriminator { get; set; } /// /// Автор изменения /// [Column("IdAuthor")] public Guid IdAuthor { get; set; } /// /// Редактор /// [Column("IdEditor")] public Guid? IdEditor { get; set; } /// /// Дата создания записи /// [Column("Creation")] public DateTimeOffset Creation { get; set; } /// /// Дата устаревания (например при удалении) /// [Column("Obsolete")] public DateTimeOffset? Obsolete { get; set; } /// /// Id заменяющей записи /// [Column("IdNext")] public Guid? IdNext { get; set; } /// /// Значение /// [Column("Value", TypeName = "jsonb")] public required IDictionary Value { get; set; } }