Документирование и небольшой рефакторинг модели.
This commit is contained in:
@@ -1,25 +1,45 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Pf2eModel.Model.Common.I18n;
|
||||
|
||||
namespace Pf2eModel.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!;
|
||||
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
/// <summary>
|
||||
/// Коллекция сущностей, которые используют это ключевое слово.
|
||||
/// </summary>
|
||||
public ICollection<Entity> Entities { get; set; } = [];
|
||||
|
||||
/// <summary>
|
||||
/// Коллекция синонимов ключевого слова.
|
||||
/// </summary>
|
||||
public ICollection<KeywordAlias> Aliases { get; set; } = [];
|
||||
}
|
||||
|
||||
@@ -1,22 +1,40 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Pf2eModel.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!;
|
||||
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
/// <summary>
|
||||
/// Ключевое слово, к которому относится синоним.
|
||||
/// </summary>
|
||||
public Keyword Keyword { get; set; } = null!;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user