Документирование и небольшой рефакторинг модели.

This commit is contained in:
2025-05-11 00:31:15 +04:00
parent 1a977ee988
commit 3c65274b45
64 changed files with 1960 additions and 554 deletions
+27 -1
View File
@@ -4,30 +4,56 @@ using Microsoft.EntityFrameworkCore;
namespace Pf2eModel.Model.Base.Source;
/// <summary>
/// Связь между сущностью и источником.
/// </summary>
public class EntitySource
{
/// <summary>
/// Идентификатор связи.
/// </summary>
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 0)]
[Comment("Идентификатор")]
public int Id { get; set; }
/// <summary>
/// Идентификатор сущности.
/// </summary>
[Column(Order = 1)]
[Comment("Идентификатор сущности")]
public int EntityId { get; set; }
/// <summary>
/// Идентификатор источника.
/// </summary>
[Column(Order = 2)]
[Comment("Идентификатор источника")]
public int SourceId { get; set; }
/// <summary>
/// Дополнительная информация о источнике, например, номер страницы, номер тома и т.д.
/// </summary>
[Column(Order = 3)]
[MaxLength(255)]
[Comment("Номер страницы, эррата и т.д.")]
public string Suffix { get; set; } = null!;
/// <summary>
/// Флаг, указывающий, что объект является частью ремастера.
/// </summary>
[Column(Order = 4)]
[Comment("Флаг, указывающий, что объект является частью ремастера")]
public bool IsRemaster { get; set; }
[Newtonsoft.Json.JsonIgnore]
/// <summary>
/// Сущность, к которой относится источник.
/// </summary>
public Entity Entity { get; set; } = null!;
/// <summary>
/// Источник, к которому относится сущность.
/// </summary>
public Source Source { get; set; } = null!;
}
+23 -1
View File
@@ -1,26 +1,48 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
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; }
[Newtonsoft.Json.JsonIgnore]
/// <summary>
/// Связанные сущности.
/// </summary>
public ICollection<EntitySource> EntitySources { get; set; } = [];
}