Files
LaDOSE/LaDOSE.Src/LaDOSE.Entity/Context/LaDOSEDbContext.cs

153 lines
4.7 KiB
C#
Raw Normal View History

2019-08-06 01:56:33 +02:00
using LaDOSE.Entity.Challonge;
using LaDOSE.Entity.Wordpress;
2022-07-30 18:22:49 +02:00
using LaDOSE.Entity.BotEvent;
using Microsoft.EntityFrameworkCore;
2018-10-06 13:05:38 +02:00
namespace LaDOSE.Entity.Context
2018-10-05 00:18:37 +02:00
{
public class LaDOSEDbContext : DbContext
{
public DbSet<Game> Game { get; set; }
2018-10-05 01:51:23 +02:00
public DbSet<ApplicationUser> ApplicationUser { get; set; }
2022-03-19 22:54:55 +01:00
public DbSet<Todo> Todo { get; set; }
#region WordPress
public DbSet<WPUser> WPUser { get; set; }
public DbSet<WPEvent> WPEvent { get; set; }
public DbSet<WPBooking> WPBooking { get; set; }
2022-03-19 22:54:55 +01:00
#endregion
#region Tournament
public DbSet<Player> Player { get; set; }
public DbSet<Event> Event { get; set; }
public DbSet<Tournament> Tournament { get; set; }
public DbSet<Result> Result { get; set; }
2022-03-20 13:52:05 +01:00
public DbSet<Set> Set { get; set; }
#endregion
2022-07-30 22:55:46 +02:00
//public DbSet<ChallongeParticipent> ChallongeParticipent { get; set; }
//public DbSet<ChallongeTournament> ChallongeTournament { get; set; }
2018-10-05 00:18:37 +02:00
2022-07-30 18:22:49 +02:00
#region BotEvents
public DbSet<BotEvent.BotEvent> BotEvent { get; set; }
public DbSet<BotEventResult> BotEventResult { get; set; }
#endregion
2018-10-05 00:18:37 +02:00
public LaDOSEDbContext(DbContextOptions options) : base(options)
{
}
2023-07-12 05:06:18 +02:00
2018-10-05 00:18:37 +02:00
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
2018-10-06 14:16:42 +02:00
2018-10-05 00:18:37 +02:00
base.OnModelCreating(modelBuilder);
2018-10-06 14:16:42 +02:00
modelBuilder.Entity<Event>()
.HasMany(s => s.Tournaments);
modelBuilder.Entity<Tournament>()
.HasOne(e => e.Game)
.WithMany(e=>e.Tournaments)
.HasForeignKey(pt=>pt.GameId)
;
modelBuilder.Entity<Tournament>()
.HasOne(e => e.Event)
.WithMany(e => e.Tournaments)
.HasForeignKey(pt => pt.EventId)
;
2022-03-20 13:52:05 +01:00
modelBuilder.Entity<Set>()
.HasOne(e => e.Tournament)
.WithMany(e => e.Sets)
.HasForeignKey(pt => pt.TournamentId)
;
modelBuilder.Entity<Result>()
.HasOne(e => e.Tournament)
.WithMany(e => e.Results)
.HasForeignKey(pt => pt.TournamentId);
2022-07-30 18:22:49 +02:00
modelBuilder.Entity<BotEventResult>()
.HasOne(e => e.BotEvent)
.WithMany(e => e.Results)
.HasForeignKey(pt => pt.BotEventId);
2022-03-20 13:52:05 +01:00
//modelBuilder.Entity<Set>()
// .HasOne(e => e.Player1)
// .WithMany(e => e.Sets)
// .HasForeignKey(pt => pt.Player1Id)
// ;
//modelBuilder.Entity<Set>()
// .HasOne(e => e.Player2)
// .WithMany(e => e.Sets)
// .HasForeignKey(pt => pt.Player2Id)
// ;
2022-03-19 22:54:55 +01:00
//#region SeasonGame
//modelBuilder.Entity<SeasonGame>()
// .HasKey(t => new { t.SeasonId, t.GameId });
2022-03-19 22:54:55 +01:00
//modelBuilder.Entity<SeasonGame>()
// .HasOne(pt => pt.Season)
// .WithMany(p => p.Games)
// .HasForeignKey(pt => pt.SeasonId);
2018-10-06 14:16:42 +02:00
2022-03-19 22:54:55 +01:00
//modelBuilder.Entity<SeasonGame>()
// .HasOne(pt => pt.Game)
// .WithMany(p => p.Seasons)
// .HasForeignKey(pt => pt.GameId);
//#endregion
2018-10-06 14:16:42 +02:00
2022-03-19 22:54:55 +01:00
//#region EventGame
//modelBuilder.Entity<T>()
2022-03-19 22:54:55 +01:00
// .HasKey(t => new { t.EventId, t.GameId });
2022-03-19 22:54:55 +01:00
//modelBuilder.Entity<EventGame>()
// .HasOne(pt => pt.Event)
// .WithMany(p => p.Games)
// .HasForeignKey(pt => pt.EventId);
2022-03-19 22:54:55 +01:00
//modelBuilder.Entity<EventGame>()
// .HasOne(pt => pt.Game)
// .WithMany(p => p.Events)
// .HasForeignKey(pt => pt.GameId);
//#endregion
#region WordPress WPBooking
modelBuilder.Entity<WPBooking>()
.HasKey(t => new { t.WPEventId, t.WPUserId });
modelBuilder.Entity<WPBooking>()
.HasOne(pt => pt.WPEvent)
.WithMany(p => p.WPBookings)
.HasForeignKey(pt => pt.WPEventId);
modelBuilder.Entity<WPBooking>()
.HasOne(pt => pt.WPUser)
.WithMany(p => p.WPBookings)
.HasForeignKey(pt => pt.WPUserId);
#endregion
2022-07-30 22:55:46 +02:00
//#region Challonge
//modelBuilder.Entity<ChallongeParticipent>()
// .HasOne(pt => pt.ChallongeTournament)
// .WithMany(p => p.Participents)
// .HasForeignKey(pt => pt.ChallongeTournamentId);
//#endregion
2018-10-05 00:18:37 +02:00
}
}
2018-10-06 13:05:38 +02:00
2018-10-05 00:18:37 +02:00
}