У меня есть сущность "Player", у которой есть свойство "Guid" типа string с уникальным ограничением.
У меня есть сущность «PlayerData», которая имеет свойства «PlayerGuid», «OpponentPlayerGuid» типа string.
Как использовать EF Core, чтобы убедиться, что свойства PlayerGuid и OpponentPlayerGuid принимают значения, найденные только в свойстве Player.Guid?
Я пробовал разные вещи, из 5+ разных ответов на stackoverflow, но ни один из них не помог мне решить эту проблему.
Элемент PlayerData
public class PlayerData
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public int AttackLevel { get; set; } = 0;
public int DefenseLevel { get; set; } = 0;
[InverseProperty("Guid")]
public string PlayerGuid { get; set; }
public Player Player { get; set; }
//[ForeignKey("OpponentPlayerGuid")]
//public string OpponentPlayerGuid { get; set; }
public int WinStreak { get; set; } = 0;
public double Armor { get; set; }
public double Health { get; set; }
public bool Acted { get; set; }
public ActionType LastAction { get; set; }
}
Сущность игрока
public class Player
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[ForeignKey("SessionId")]
public int? SessionId { get; set; }
public Session Session { get; set; }
[Required,MaxLength(36)]
public string Guid { get; set; }
public DateTime? BanTime { get; set; }
public List<PlayerData> PlayerDatas { get; set; }
}