using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations; using Microsoft.EntityFrameworkCore; namespace Persistence.Database.Model; /// /// Часть записи, описывающая изменение /// public class ChangeLog : IChangeLog { [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; } }