persistence/DD.Persistence.Database/Entity/ChangeLog.cs

47 lines
1.5 KiB
C#
Raw Normal View History

2024-11-25 10:05:23 +05:00

using Microsoft.EntityFrameworkCore;
using DD.Persistence.Models;
2024-12-10 10:43:12 +05:00
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
2024-11-25 10:05:23 +05:00
namespace DD.Persistence.Database.Model;
2024-11-25 10:05:23 +05:00
/// <summary>
/// Часть записи, описывающая изменение
2024-11-25 10:05:23 +05:00
/// </summary>
public class ChangeLog : IChangeLog, IWithSectionPart
2024-11-25 10:05:23 +05:00
{
[Key, Comment("Ключ записи")]
2024-11-25 10:05:23 +05:00
public Guid Id { get; set; }
[Comment("Дискриминатор таблицы")]
public Guid IdDiscriminator { get; set; }
[Comment("Автор изменения")]
2024-11-25 10:05:23 +05:00
public Guid IdAuthor { get; set; }
[Comment("Редактор")]
2024-11-25 10:05:23 +05:00
public Guid? IdEditor { get; set; }
[Comment("Дата создания записи")]
2024-11-25 10:05:23 +05:00
public DateTimeOffset Creation { get; set; }
[Comment("Дата устаревания (например при удалении)")]
2024-11-25 10:05:23 +05:00
public DateTimeOffset? Obsolete { get; set; }
[Comment("Id заменяющей записи")]
2024-11-25 10:05:23 +05:00
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<string, object> Value { get; set; }
2024-11-25 10:05:23 +05:00
}