sledgemapper/Sledgemapper.Api/Data/MyDbContext.cs
2020-11-08 14:45:12 +00:00

53 lines
No EOL
1.6 KiB
C#

using System;
using System.Security.AccessControl;
using Microsoft.EntityFrameworkCore;
using Sledgemapper.Api.Models;
using System.Reflection;
namespace Sledgemapper.Api.Data
{
public static class DbInitializer
{
public static void Initialize(MyDbContext context)
{
context.Database.EnsureCreated();
}
}
public class MyDbContext : DbContext
{
public DbSet<MapLog> MapLogs { get; set; }
public MyDbContext(DbContextOptions options):base(options)
{
ChangeTracker.QueryTrackingBehavior=QueryTrackingBehavior.NoTracking;
}
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=MyDatabase.db");
base.OnConfiguring(optionsBuilder);
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// Map table names
modelBuilder.Entity<MapLog>().ToTable("MapLog", "dbo");
modelBuilder.Entity<MapLog>(entity =>
{
entity.HasKey(e => e.MapLogId);
//entity.HasIndex(e => {e.SessionName, e.Timestamp});
});
base.OnModelCreating(modelBuilder);
}
}
}