using Edge.Core.Database.Configuration.Models;
using Edge.Core.Database.Models;
using Microsoft.EntityFrameworkCore;
namespace Edge.Core.Database
{
///
/// this type is injected into IServiceProvider by lifetime of Scoped: services.AddScoped()
/// so, retrieve an instance of this DbContext by always create your own scope, and dispose it when done.
/// otherwise, a global shared one would be retrieved.
///
public class SqliteDbContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=liteFccCore_sqlite_database.db");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity()
.HasIndex(p => new { p.Owner })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.Type })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.State })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.CreatedTimeStamp })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.ModifiedTimeStamp })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.IntProperty0 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.IntProperty1 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.IntProperty2 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.IntProperty3 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.IntProperty4 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.IntProperty5 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.IntProperty6 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.IntProperty7 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.IntProperty8 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.IntProperty9 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.DoubleProperty0 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.DoubleProperty1 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.DoubleProperty2 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.DoubleProperty3 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.DoubleProperty4 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.DoubleProperty5 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.DoubleProperty6 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.DoubleProperty7 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.DoubleProperty8 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.DoubleProperty9 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.StrProperty0 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.StrProperty1 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.StrProperty2 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.StrProperty3 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.StrProperty4 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.StrProperty5 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.StrProperty6 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.StrProperty7 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.StrProperty8 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.StrProperty9 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.TimeStampProperty0 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.TimeStampProperty1 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.TimeStampProperty2 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.TimeStampProperty3 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.TimeStampProperty4 })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.Name })
.IsUnique(true);
modelBuilder.Entity()
.HasIndex(p => new { p.TimeStamp })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.ProcessorMetaConfigId, p.Type })
.IsUnique(true);
modelBuilder.Entity()
.HasIndex(p => new { p.Severity })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.HiddenData })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.Category, p.SubCategory })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.OpeningTimestamp })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.ClosedTimestamp })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.ProcessorEndpointFullTypeStr })
.IsUnique(false);
modelBuilder.Entity()
.HasIndex(p => new { p.OriginatorDisplayName, p.OpeningTimestamp, p.ClosedTimestamp })
.IsUnique(false);
}
public DbSet FuelPointReservationModels { get; set; }
public DbSet PumpTransactionModels { get; set; }
public DbSet FuelPriceChanges { get; set; }
public DbSet GenericDatas { get; set; }
public DbSet GenericAlarms { get; set; }
public DbSet ProcessorMetaConfigs { get; set; }
public DbSet ProcessorMetaPartsMetaConfigs { get; set; }
}
}