public class UserInfo
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
[Required, MinLength(4), MaxLength(32)]
public string Username { get; set; }
[Required, MinLength(4), MaxLength(32)]
public string Password { get; set; }
public long? RoleId { get; set; }
[ForeignKey(nameof(RoleId))]
public RoleInfo Role { get; set; }
public long? BanId { get; set; }
[ForeignKey(nameof(BanId))]
public BanInfo Ban { get; set; }
}
public class DbContainer : DbContext
{
public DbContainer() : base($"name={nameof(DbContainer)}") { }
public virtual DbSet<userinfo> Users { get; set; }
public virtual DbSet<roleinfo> Roles { get; set; }
public virtual DbSet<baninfo> Bans { get; set; }
}
public class UserInfo
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
[Required, MinLength(4), MaxLength(32)]
public string Username { get; set; }
[Required, MinLength(4), MaxLength(32)]
public string Password { get; set; }
public long? RoleId { get; set; }
[ForeignKey(nameof(RoleId))]
public RoleInfo Role { get; set; }
public long? BanId { get; set; }
[ForeignKey(nameof(BanId))]
public BanInfo Ban { get; set; }
}
public class BanInfo
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
[Required]
EndOfBan public DateTime { get; set; }
[MaxLength(64)]
public string Reason { get; set; }
}
[Flags]
public enum UserRole : byte
{
User = 1,
Admin = 2,
SuperAdmin = 4
};
public class RoleInfo
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
[Required]
public RoleValue UserRole { get; set; } = UserRole.User;
}</baninfo></roleinfo></userinfo>
Find more questions by tags C#DatabasesEntity Framework