Сущность домена
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
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;
|
||||
|
||||
/// <summary>
|
||||
/// Домен.
|
||||
/// </summary>
|
||||
[EntityOfType(EntityType.Domain)]
|
||||
public class Domain : IEntity
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
[Key]
|
||||
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
[Column(Order = 1)]
|
||||
[Comment("Идентификатор")]
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Entity Entity { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Название домена.
|
||||
/// </summary>
|
||||
[Column(Order = 2)]
|
||||
[MaxLength(Pf2eDbContext.NameLength)]
|
||||
[Comment("Название домена")]
|
||||
public string Name { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Идентификатор заклинания домена.
|
||||
/// </summary>
|
||||
[Column(Order = 3)]
|
||||
[Comment("Идентификатор заклинания домена")]
|
||||
public int DomainSpellId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Идентификатор продвинутого заклинания домена.
|
||||
/// </summary>
|
||||
[Column(Order = 4)]
|
||||
[Comment("Идентификатор продвинутого заклинания домена")]
|
||||
public int AdvancedDomainSpellId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Идентификатор апокрифического заклинания домена.
|
||||
/// </summary>
|
||||
[Column(Order = 5)]
|
||||
[Comment("Идентификатор апокрифического заклинания домена")]
|
||||
public int? ApocryphalSpellId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Идентификатор продвинутого апокрифического заклинания домена.
|
||||
/// </summary>
|
||||
[Column(Order = 6)]
|
||||
[Comment("Идентификатор продвинутого апокрифического заклинания домена")]
|
||||
public int? AdvancedApocryphalSpellId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Заклинание домена.
|
||||
/// </summary>
|
||||
public virtual Spell DomainSpell { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Продвинутое заклинание домена.
|
||||
/// </summary>
|
||||
public virtual Spell AdvancedDomainSpell { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Апокрифическое заклинание домена.
|
||||
/// </summary>
|
||||
public virtual Spell? ApocryphalSpell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Продвинутое апокрифическое заклинание домена.
|
||||
/// </summary>
|
||||
public virtual Spell? AdvancedApocryphalSpell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Связи с божествами, которые используют этот домен.
|
||||
/// </summary>
|
||||
public virtual ICollection<DeityDomain> DeityDomains { get; set; } = new List<DeityDomain>();
|
||||
}
|
||||
Reference in New Issue
Block a user