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