using Microsoft.EntityFrameworkCore; using Sledgemapper.Api.Core.Entities.CampaignAggregate; using Sledgemapper.Api.Models; using Sledgemapper.Entities; namespace Sledgemapper.Api.Infrastructure.Data { // public static class DbInitializer // { // public static void Initialize(SledgemapperDbContext context) // { // context.Database.EnsureCreated(); // } // } public class SledgemapperDbContext : DbContext { public DbSet Campaigns { get; set; } public DbSet MapLogs { get; set; } public DbSet Maps { get; set; } public DbSet Sessions { get; set; } public DbSet SessionUsers { get; set; } public DbSet Snapshots { get; set; } public DbSet Users { get; set; } public DbSet UserConnections { get; set; } public SledgemapperDbContext(DbContextOptions options) : base(options) { } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { // optionsBuilder. // options.MigrationsAssembly(Assembly.GetExecutingAssembly().FullName); // optionsBuilder.UseSqlite("Filename=SledgemapperDatabase.db", options => // { // options.MigrationsAssembly(Assembly.GetExecutingAssembly().FullName); // }); optionsBuilder.UseSqlite("Filename=Sledgemapper.db").UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking); base.OnConfiguring(optionsBuilder); } // protected override void OnModelCreating(ModelBuilder modelBuilder) // { // // Map table names // modelBuilder.Entity().ToTable("MapLog", "dbo"); // modelBuilder.Entity(entity => // { // entity.HasKey(e => e.MapLogId); // }); // modelBuilder.Entity().ToTable("Session", "dbo"); // modelBuilder.Entity(entity => // { // entity.HasKey(e => e.SessionId); // entity.HasIndex(e => e.SessionName).IsUnique(); // }); // modelBuilder.Entity().ToTable("UserConnection", "dbo"); // modelBuilder.Entity(entity => // { // entity.HasKey(e => e.UserConnectionId); // entity.HasIndex(e => e.UserId); // }); // modelBuilder.Entity().ToTable("SessionUser", "dbo"); // modelBuilder.Entity(entity => // { // entity.HasKey(e => e.SessionUserId); // entity.HasIndex(e => e.SessionId); // }); // modelBuilder.Entity().ToTable("Snapshot", "dbo"); // modelBuilder.Entity(entity => // { // entity.HasKey(e => e.SnapshotId); // }); // base.OnModelCreating(modelBuilder); // } } }