using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Microsoft.EntityFrameworkCore; using Pf2eModel.Model.Base; using Pf2eModel.Model.Enum; using Pf2eModel.Model.Structure.DeityRelation; namespace Pf2eModel.Model.Structure; /// /// Домен. /// [EntityOfType(EntityType.Domain)] public class Domain : IEntity { /// [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] [Column(Order = 1)] [Comment("Идентификатор")] public int Id { get; set; } /// public Entity Entity { get; set; } = null!; /// /// Идентификатор заклинания домена. /// [Column(Order = 2)] [Comment("Заклинание домена")] public int DomainSpellId { get; set; } /// /// Идентификатор продвинутого заклинания домена. /// [Column(Order = 3)] [Comment("Продвинутое заклинание домена")] public int AdvancedDomainSpellId { get; set; } /// /// Идентификатор апокрифического заклинания домена. /// [Column(Order = 4)] [Comment("Апокрифическое заклинание домена")] public int? ApocryphalSpellId { get; set; } /// /// Идентификатор продвинутого апокрифического заклинания домена. /// [Column(Order = 5)] [Comment("Продвинутое апокрифическое заклинание домена")] public int? AdvancedApocryphalSpellId { get; set; } /// /// Заклинание домена. /// public virtual Spell DomainSpell { get; set; } = null!; /// /// Продвинутое заклинание домена. /// public virtual Spell AdvancedDomainSpell { get; set; } = null!; /// /// Апокрифическое заклинание домена. /// public virtual Spell? ApocryphalSpell { get; set; } /// /// Продвинутое апокрифическое заклинание домена. /// public virtual Spell? AdvancedApocryphalSpell { get; set; } /// /// Связи с божествами, которые используют этот домен. /// public virtual ICollection DeityDomains { get; set; } = new List(); }