using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Microsoft.EntityFrameworkCore; using Newtonsoft.Json; namespace Pf2e.Database.Model.Base.Source; /// /// Связь между сущностью и источником. /// public class EntitySource { /// /// Идентификатор связи. /// [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Column(Order = 0)] [Comment("Идентификатор")] public int Id { get; set; } /// /// Идентификатор сущности. /// [Column(Order = 1)] [Comment("Идентификатор сущности")] public int EntityId { get; set; } /// /// Идентификатор источника. /// [Column(Order = 2)] [Comment("Идентификатор источника")] public int SourceId { get; set; } /// /// Дополнительная информация о источнике, например, номер страницы, номер тома и т.д. /// [Column(Order = 3)] [MaxLength(255)] [Comment("Номер страницы, эррата и т.д.")] public string Suffix { get; set; } = null!; /// /// Флаг, указывающий, что объект является частью ремастера. /// [Column(Order = 4)] [Comment("Флаг, указывающий, что объект является частью ремастера")] public bool IsRemaster { get; set; } /// /// Сущность, к которой относится источник. /// [JsonIgnore] public Entity Entity { get; set; } = null!; /// /// Источник, к которому относится сущность. /// public Source Source { get; set; } = null!; }