using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Shared; using System.Reflection.Metadata; using System.Security.Claims; using System.Xml.Linq; namespace Entities { public class LolDbContext : DbContext { public DbSet skins { get; set; } public DbSet champions { get; set; } public DbSet characteristics { get; set; } public DbSet skills { get; set; } public DbSet runes { get; set; } public DbSet runepages { get; set; } public DbSet largeimages { get; set; } public LolDbContext(DbContextOptions configuration) : base(configuration){} protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { Console.WriteLine("!IsConfigured..."); optionsBuilder.UseSqlite($"Data Source=Entities.Champions.db"); } } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity().Property(e => e.Id).ValueGeneratedOnAdd(); modelBuilder.Entity().HasKey(c => new { c.Name, c.ChampionForeignKey }); modelBuilder.Entity().Property(e => e.Id).ValueGeneratedOnAdd(); modelBuilder.Entity() .HasMany(x => x.runes) .WithMany(x => x.runepages) .UsingEntity(); modelBuilder.Entity() .HasMany(x => x.runepages) .WithMany(x => x.champions); } } }