Глобальный рефакторинг пространств имён

This commit is contained in:
2025-10-02 13:29:30 +04:00
parent d23d81fb53
commit 2fa94851cb
3176 changed files with 27146 additions and 30584 deletions
@@ -0,0 +1,45 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
using Pf2e.Database.Model.Common.I18n;
namespace Pf2e.Database.Model.Base.Keywords;
/// <summary>
/// Ключевое слово.
/// </summary>
public class Keyword
{
/// <summary>
/// Идентификатор.
/// </summary>
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
/// <summary>
/// Отображаемое имя ключевого слова.
/// </summary>
[Column(Order = 2)]
[Comment("Отображаемое имя")]
public LocaleString Name = [];
/// <summary>
/// Часть имени в URL.
/// </summary>
[Column(Order = 3)]
[MaxLength(Pf2eDbContext.NameLength)]
[Comment("Часть имени в URL")]
public string Slug { get; set; } = null!;
/// <summary>
/// Коллекция сущностей, которые используют это ключевое слово.
/// </summary>
public ICollection<Entity> Entities { get; set; } = [];
/// <summary>
/// Коллекция синонимов ключевого слова.
/// </summary>
public ICollection<KeywordAlias> Aliases { get; set; } = [];
}
@@ -0,0 +1,40 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
namespace Pf2e.Database.Model.Base.Keywords;
/// <summary>
/// Синоним ключевого слова.
/// </summary>
public class KeywordAlias
{
/// <summary>
/// Идентификатор.
/// </summary>
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
[Comment("Идентификатор")]
public int Id { get; set; }
/// <summary>
/// Идентификатор связаннного ключевого слова.
/// </summary>
[Column(Order = 2)]
[Comment("Идентификатор ключевого слова")]
public int KeywordId { get; set; }
/// <summary>
/// Значение синонима ключевого слова.
/// </summary>
[Column(Order = 3)]
[MaxLength(Pf2eDbContext.NameLength)]
[Comment("Синоним")]
public string Value { get; set; } = null!;
/// <summary>
/// Ключевое слово, к которому относится синоним.
/// </summary>
public Keyword Keyword { get; set; } = null!;
}