ace/Source/ACE.Database/Models/Auth/AuthDbContext.cs
Mag-nus 9c2a39946d
All 3 databases rescaffolded (#915)
* AuthDbContext rescaffolded

* WorldDbContext rescaffolded

* ShardDbContext rescaffolded
2018-08-01 09:05:21 -05:00

95 lines
3.1 KiB
C#

using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;
namespace ACE.Database.Models.Auth
{
public partial class AuthDbContext : DbContext
{
public AuthDbContext()
{
}
public AuthDbContext(DbContextOptions<AuthDbContext> options)
: base(options)
{
}
public virtual DbSet<Accesslevel> Accesslevel { get; set; }
public virtual DbSet<Account> Account { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var config = Common.ConfigManager.Config.MySql.Authentication;
optionsBuilder.UseMySql($"server={config.Host};port={config.Port};user={config.Username};password={config.Password};database={config.Database}");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Accesslevel>(entity =>
{
entity.HasKey(e => e.Level);
entity.ToTable("accesslevel");
entity.HasIndex(e => e.Level)
.HasName("level")
.IsUnique();
entity.Property(e => e.Level)
.HasColumnName("level")
.HasDefaultValueSql("'0'");
entity.Property(e => e.Name)
.IsRequired()
.HasColumnName("name")
.HasColumnType("varchar(45)");
entity.Property(e => e.Prefix)
.HasColumnName("prefix")
.HasColumnType("varchar(45)")
.HasDefaultValueSql("''");
});
modelBuilder.Entity<Account>(entity =>
{
entity.ToTable("account");
entity.HasIndex(e => e.AccessLevel)
.HasName("accesslevel_idx");
entity.HasIndex(e => e.AccountName)
.HasName("accountName_uidx")
.IsUnique();
entity.Property(e => e.AccountId).HasColumnName("accountId");
entity.Property(e => e.AccessLevel)
.HasColumnName("accessLevel")
.HasDefaultValueSql("'0'");
entity.Property(e => e.AccountName)
.IsRequired()
.HasColumnName("accountName")
.HasColumnType("varchar(50)");
entity.Property(e => e.PasswordHash)
.IsRequired()
.HasColumnName("passwordHash")
.HasColumnType("varchar(88)");
entity.Property(e => e.PasswordSalt)
.IsRequired()
.HasColumnName("passwordSalt")
.HasColumnType("varchar(88)");
entity.HasOne(d => d.AccessLevelNavigation)
.WithMany(p => p.Account)
.HasForeignKey(d => d.AccessLevel)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_accesslevel");
});
}
}
}