34 lines
962 B
C#
34 lines
962 B
C#
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
|
|
|
namespace Authinator.Backend.Database.Tables;
|
|
|
|
public class Group {
|
|
public int Id { get; }
|
|
public string Name { get; set; } = null!;
|
|
|
|
public class Configuration : IEntityTypeConfiguration<Group> {
|
|
public void Configure(EntityTypeBuilder<Group> group) {
|
|
group.ToTable("Groups");
|
|
group.HasKey(p => p.Id);
|
|
group.Property(b => b.Name).HasColumnName("Name").IsRequired();
|
|
}
|
|
}
|
|
|
|
private bool Equals(Group other) => Id == other.Id;
|
|
|
|
public override bool Equals(object? obj) {
|
|
if (ReferenceEquals(null, obj))
|
|
return false;
|
|
if (ReferenceEquals(this, obj))
|
|
return true;
|
|
return obj.GetType() == GetType() && Equals((Group)obj);
|
|
}
|
|
|
|
public override int GetHashCode() => Id;
|
|
|
|
public static bool operator ==(Group? left, Group? right) => Equals(left, right);
|
|
|
|
public static bool operator !=(Group? left, Group? right) => !Equals(left, right);
|
|
}
|