40 lines
1.2 KiB
C#
40 lines
1.2 KiB
C#
|
|
using DD.Persistence.Database.EntityAbstractions;
|
|
using DD.Persistence.ModelsAbstractions;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace DD.Persistence.Database.Entity;
|
|
|
|
/// <summary>
|
|
/// Часть записи, описывающая изменение
|
|
/// </summary>
|
|
[Table("change_log")]
|
|
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; }
|
|
|
|
[Column(TypeName = "jsonb"), Comment("Значение")]
|
|
public required IDictionary<string, object> Value { get; set; }
|
|
}
|