persistence/Persistence.Database/Entity/ChangeLog.cs

78 lines
2.0 KiB
C#
Raw Permalink Normal View History

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

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