using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
using Pf2eModel.Model.Common.I18n;
namespace Pf2eModel.Model.Base.Keywords;
///
/// Ключевое слово.
///
public class Keyword
{
///
/// Идентификатор.
///
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Column(Order = 1)]
public int Id { get; set; }
///
/// Отображаемое имя ключевого слова.
///
[Column(Order = 2)]
[Comment("Отображаемое имя")]
public LocaleString Name = [];
///
/// Часть имени в URL.
///
[Column(Order = 3)]
[MaxLength(Pf2eDbContext.NameLength)]
[Comment("Часть имени в URL")]
public string Slug { get; set; } = null!;
///
/// Коллекция сущностей, которые используют это ключевое слово.
///
public ICollection Entities { get; set; } = [];
///
/// Коллекция синонимов ключевого слова.
///
public ICollection Aliases { get; set; } = [];
}