62 lines
2.0 KiB
C#
62 lines
2.0 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace Pf2eModel.Model.Base.Source;
|
|
|
|
/// <summary>
|
|
/// Связь между сущностью и источником.
|
|
/// </summary>
|
|
public class EntitySource
|
|
{
|
|
/// <summary>
|
|
/// Идентификатор связи.
|
|
/// </summary>
|
|
[Key]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
[Column(Order = 0)]
|
|
[Comment("Идентификатор")]
|
|
public int Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Идентификатор сущности.
|
|
/// </summary>
|
|
[Column(Order = 1)]
|
|
[Comment("Идентификатор сущности")]
|
|
public int EntityId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Идентификатор источника.
|
|
/// </summary>
|
|
[Column(Order = 2)]
|
|
[Comment("Идентификатор источника")]
|
|
public int SourceId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Дополнительная информация о источнике, например, номер страницы, номер тома и т.д.
|
|
/// </summary>
|
|
[Column(Order = 3)]
|
|
[MaxLength(255)]
|
|
[Comment("Номер страницы, эррата и т.д.")]
|
|
public string Suffix { get; set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Флаг, указывающий, что объект является частью ремастера.
|
|
/// </summary>
|
|
[Column(Order = 4)]
|
|
[Comment("Флаг, указывающий, что объект является частью ремастера")]
|
|
public bool IsRemaster { get; set; }
|
|
|
|
/// <summary>
|
|
/// Сущность, к которой относится источник.
|
|
/// </summary>
|
|
[JsonIgnore]
|
|
public Entity Entity { get; set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Источник, к которому относится сущность.
|
|
/// </summary>
|
|
public Source Source { get; set; } = null!;
|
|
}
|