You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dice_app/Sources/Data/EF/Players/PlayerEntity.cs

42 lines
992 B

using Data.EF.Games;
using Microsoft.EntityFrameworkCore;
namespace Data.EF.Players
{
[Index(nameof(Name), IsUnique = true)]
public sealed class PlayerEntity : IEquatable<PlayerEntity>
{
public Guid ID { get; set; }
public string Name { get; set; }
public ICollection<TurnEntity> Turns { get; set; } = new List<TurnEntity>();
public override bool Equals(object obj)
{
if (obj is not PlayerEntity)
{
return false;
}
return Equals(obj as PlayerEntity);
}
public bool Equals(PlayerEntity other)
{
return other is not null && this.ID.Equals(other.ID) && this.Name.Equals(other.Name);
}
public override int GetHashCode()
{
return HashCode.Combine(ID, Name);
}
public override string ToString()
{
return $"{ID.ToString().ToUpper()} -- {Name}";
}
}
}