Guest User

MainContext.cs

a guest
May 27th, 2020
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.32 KB | None | 0 0
  1. using [redacted];
  2. using Microsoft.EntityFrameworkCore;
  3. using Microsoft.Extensions.Logging;
  4.  
  5. namespace [redacted]
  6. {
  7.     public class MainContext : DbContext
  8.     {
  9.         public static readonly ILoggerFactory MyLoggerFactory
  10.             = LoggerFactory.Create(builder => builder.AddConsole());
  11.  
  12.         public static readonly ILoggerFactory EverythingLoggerFactory
  13.             = LoggerFactory.Create(builder =>
  14.                 builder.AddConsole()
  15.                     .AddFilter(level => level == LogLevel.Information)
  16.                     .AddFilter(category => true));
  17.         public DbSet<User> Users { get; set; }
  18.         public DbSet<Session> Sessions { get; set; }
  19.         public DbSet<MatchInfo> Matches { get; set; }
  20.         public DbSet<Player> Players { get; set; }
  21.         public DbSet<Card> Cards { get; set; }
  22.         public DbSet<HandCard> HandCards { get; set; }
  23.  
  24.         protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  25.         {
  26.             optionsBuilder.UseLoggerFactory(EverythingLoggerFactory);
  27.             optionsBuilder.EnableSensitiveDataLogging(true);
  28.             const string constr = [redacted]
  29.             optionsBuilder.UseOracle(constr, builder => builder.UseOracleSQLCompatibility("11"));
  30.         }
  31.  
  32.         protected override void OnModelCreating(ModelBuilder modelBuilder)
  33.         {
  34.             Setup_Users(modelBuilder);
  35.             Setup_Sessions(modelBuilder);
  36.             Setup_MatchInfo(modelBuilder);
  37.             Setup_Players(modelBuilder);
  38.             Setup_Cards(modelBuilder);
  39.             Setup_HandCards(modelBuilder);
  40.         }
  41.        
  42.         // --- snip ---
  43.        
  44.         private void Setup_MatchInfo(ModelBuilder modelBuilder)
  45.         {
  46.             modelBuilder.Entity<MatchInfo>().ToTable("EC_MATCHINFO");
  47.  
  48.             modelBuilder.Entity<MatchInfo>()
  49.                 .HasOne(o => o.StarterUser)
  50.                 .WithOne()
  51.                 .HasForeignKey<MatchInfo>("STARTER_USERID");
  52.             modelBuilder.Entity<MatchInfo>()
  53.                 .HasOne<User>(o => o.CurrentTurnUser)
  54.                 .WithOne()
  55.                 .HasForeignKey<MatchInfo>("CURRENT_TURN_USERID");
  56.             modelBuilder.Entity<MatchInfo>()
  57.                 .HasOne<User>(o => o.WinnerUser)
  58.                 .WithOne()
  59.                 .HasForeignKey<MatchInfo>("WINNER_USERID");
  60.             modelBuilder.Entity<MatchInfo>()
  61.                 .HasMany(o => o.Players)
  62.                 .WithOne(o => o.Match)
  63.                 .HasForeignKey("MATCHID");
  64.            
  65.             modelBuilder.Entity<MatchInfo>(o =>
  66.             {
  67.  
  68.                 //o.HasMany<Player>(e => e.Players);
  69.  
  70.                 o.Property(e => e.MatchId).HasColumnName("MATCHID");
  71.                 //o.Property(e => e.StarterUser).HasColumnName("STARTER_USERID");
  72.                 o.Property(e => e.IsAlive).HasColumnName("ISALIVE");
  73.                 //o.Property(e => e.CurrentTurnUser).HasColumnName("CURRENT_TURN_USERID");
  74.                 //o.Property(e => e.WinnerUser).HasColumnName("WINNER_USERID");
  75.                 o.Property(e => e.WinnerPoints).HasColumnName("WINNER_POINTS");
  76.                 o.Property(e => e.CurrentTurnNum).HasColumnName("CURRENT_TURN_NUM");
  77.                 o.Property(e => e.RefToken).HasColumnName("REFTOKEN");
  78.                
  79.             });
  80.  
  81.         }
  82.        
  83.         private void Setup_Players(ModelBuilder modelBuilder)
  84.         {
  85.             modelBuilder.Entity<Player>().ToTable("EC_PLAYERS");
  86.  
  87.             modelBuilder.Entity<Player>()
  88.                 .HasOne<User>(o => o.User)
  89.                 .WithOne()
  90.                 .HasForeignKey<Player>("USERID");
  91.             modelBuilder.Entity<Player>()
  92.                 .HasOne<MatchInfo>(o => o.Match);
  93.  
  94.             modelBuilder.Entity<Player>(o =>
  95.             {
  96.                 o.Property(e => e.PlayerId).HasColumnName("PLAYERID");
  97.                 //o.Property(e => e.User).HasColumnName("USERID");
  98.                 //o.Property(e => e.MatchId).HasColumnName("MATCHID");
  99.                 o.Property(e => e.TurnNum).HasColumnName("TURNNUM");
  100.                 o.Property(e => e.Authority).HasColumnName("AUTHORITY");
  101.                 o.Property(e => e.Money).HasColumnName("MONEY");
  102.                 o.Property(e => e.SRUID).HasColumnName("SRUID");
  103.             });
  104.         }
  105.        
  106.         // --- snip ---
  107.  
  108.     }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment