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