46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
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!;
|
|
|
|
/// <summary>
|
|
/// Коллекция сущностей, которые используют это ключевое слово.
|
|
/// </summary>
|
|
public ICollection<Entity> Entities { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Коллекция синонимов ключевого слова.
|
|
/// </summary>
|
|
public ICollection<KeywordAlias> Aliases { get; set; } = [];
|
|
}
|