using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Microsoft.EntityFrameworkCore;
using Pf2eModel.Model.Base.Targets;
namespace Pf2eModel.Model.Base.Legacy;
///
/// Внешняя ссылка сущности.
///
[PrimaryKey(nameof(LegacyEntityId), nameof(TargetId))]
public class LegacyEntityExternal
{
///
/// Идентификатор сущности.
///
[Column(Order = 1)]
[Comment("Идентификатор сущности")]
public int LegacyEntityId { get; set; }
///
/// Идентификатор цели.
///
[Column(Order = 2)]
[Comment("Идентификатор цели")]
public int TargetId { get; set; }
[Column(Order = 3)]
[MaxLength(255)]
public string? ExternalId { get; set; } = null;
///
/// Конечная часть URL внешней ссылки.
/// Для источников Foundry - полный UUID объекта.
///
[Column(Order = 4)]
[MaxLength(255)]
[Comment("Часть URL до объекта. Для источников Foundry - полный UUID объекта")]
public string Suffix { get; set; } = "";
///
/// Контрольная сумма объекта.
///
[Column(Order = 5)]
[MaxLength(32)]
[Comment("Контрольная сумма объекта")]
public string Md5 { get; set; } = null!;
///
/// Сущность, которая ссылается на внешнюю ссылку.
///
public LegacyEntity LegacyEntity { get; set; } = null!;
///
/// Цель внешней ссылки.
///
public ExternalTarget Target { get; set; } = null!;
}