123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using Application.ATG_Classic_App.Model;
- using Edge.Core.Database.Models;
- using Microsoft.EntityFrameworkCore;
- namespace Application.ATG_Classic_App
- {
- public class AppDbContext : DbContext
- {
- private DbContextOptions options;
- public AppDbContext() : base()
- {
- }
- public AppDbContext(DbContextOptions options) : base(options) { this.options = options; }
- protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
- {
- //if (options == null)
- // optionsBuilder.UseSqlite("Data Source=Application.ATG_Classic_App_database.db");
- }
- protected override void OnModelCreating(ModelBuilder modelBuilder)
- {
- modelBuilder.Entity<TankProfileData>().HasIndex(p => new { p.BatchLabel, p.Height }).IsUnique(true);
- modelBuilder.Entity<Alarm>().HasIndex(a => new { a.TankNumber, a.Type, a.Priority, a.CreatedTimeStamp }).IsUnique(true);
- modelBuilder.Entity<Alarm>().HasIndex(a => new { a.TankNumber, a.Type, a.Priority, a.ClearedTimeStamp }).IsUnique(true);
- modelBuilder.Entity<Alarm>().HasIndex(a => new { a.CreatedTimeStamp }).IsUnique(false);
- modelBuilder.Entity<Alarm>().HasIndex(a => new { a.TankNumber }).IsUnique(false);
- modelBuilder.Entity<Delivery>().HasIndex(d => new { d.TankNumber, d.StartingDateTime }).IsUnique(true);
- modelBuilder.Entity<Inventory>().HasIndex(d => new { d.TankNumber, d.TimeStamp }).IsUnique(true);
- }
- public DbSet<TankOverallConfig> TankOverallConfigs { get; set; }
- public DbSet<TankLimitConfig> TankLimitConfigs { get; set; }
- public DbSet<ProductConfig> ProductConfigs { get; set; }
- public DbSet<ProbeConfig> ProbeConfigs { get; set; }
- public DbSet<TankConfig> TankConfigs { get; set; }
- public DbSet<TankProfileData> TankProfileDatas { get; set; }
- public DbSet<Alarm> Alarms { get; set; }
- public DbSet<Delivery> Deliveries { get; set; }
- public DbSet<Inventory> Inventories { get; set; }
- }
- }
|