using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Microsoft.EntityFrameworkCore; using Newtonsoft.Json; using Pf2e.Database.Model.Enum; namespace Pf2e.Database.Model.Base.Source; /// /// Источник сущности. /// public class Source { /// /// Идентификатор источника. /// [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Column(Order = 1)] [Comment("Идентификатор")] public int Id { get; set; } /// /// Отображаемое имя источника. /// [Column(Order = 2)] [MaxLength(Pf2eDbContext.NameLength)] [Comment("Отображаемое имя")] public string Name { get; set; } = null!; /// /// Категория источника. /// [Column(Order = 3)] [Comment("Категория источника")] public SourceCategory Category { get; set; } /// /// Дата выхода источника. /// [Column(Order = 4)] [Comment("Дата выхода источника")] public DateOnly? ReleaseDate { get; set; } /// /// Связанные сущности. /// [JsonIgnore] public ICollection EntitySources { get; set; } = []; }