public class ChatServerMember : IEntityTypeConfiguration<ChatServerMember>
{
public required Guid UserId { get; set; }
public ChatUser User { get; set; }
public required Guid ServerId { get; set; }
public ChatServer Server { get; set; }
public ChatPermissions Permissions { get; set; }
public virtual ICollection<ChatServerRole> Roles { get; set; } = new HashSet<ChatServerRole>();
public void Configure(EntityTypeBuilder<ChatServerMember> builder)
{
builder.ToTable("ServerMembers");
builder.HasKey(x => new { x.UserId, x.ServerId });
builder.HasOne(x => x.Server)
.WithMany(x => x.Members)
.HasForeignKey(x => x.ServerId)
.OnDelete(DeleteBehavior.SetNull);
}
}
public class ChatServerMember : IEntityTypeConfiguration<ChatServerMember>
{
public required Guid UserId { get; set; }
public ChatUser User { get; set; }
public required Guid ServerId { get; set; }
public ChatServer Server { get; set; }
public ChatPermissions Permissions { get; set; }
public virtual ICollection<ChatServerRole> Roles { get; set; } = new HashSet<ChatServerRole>();
public void Configure(EntityTypeBuilder<ChatServerMember> builder)
{
builder.ToTable("ServerMembers");
builder.HasKey(x => new { x.UserId, x.ServerId });
builder.HasOne(x => x.Server)
.WithMany(x => x.Members)
.HasForeignKey(x => x.ServerId)
.OnDelete(DeleteBehavior.SetNull);
}
}