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("DepthStart")] public double DepthStart { get; set; } /// /// Глубина забоя на дату окончания интервала /// [Column("DepthEnd")] public double DepthEnd { get; set; } /// /// Ключ секции /// [Column("IdSection")] public Guid IdSection { get; set; } /// /// Значение /// [Column("Value", TypeName = "jsonb")] public required IDictionary Value { get; set; } }