using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.Extensions.Configuration; using MP.TaskMan.Models; using NLog; #nullable disable // // This is here so CodeMaid doesn't reorganize this document // namespace MP.TaskMan { public partial class TaskContext : DbContext { #region Private Fields private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); private IConfiguration _configuration; #endregion Private Fields #region Public Constructors public TaskContext(IConfiguration configuration) { _configuration = configuration; } public TaskContext(DbContextOptions options) : base(options) { } #endregion Public Constructors #region Public Properties public virtual DbSet DbSetConfig { get; set; } public virtual DbSet DbSetTaskList { get; set; } public virtual DbSet DbSetTaskExe { get; set; } public virtual DbSet DbSetTaskResult { get; set; } #endregion Public Properties #region Private Methods partial void OnModelCreatingPartial(ModelBuilder modelBuilder); #endregion Private Methods #region Protected Methods protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { if (!optionsBuilder.IsConfigured) { string connString = _configuration.GetConnectionString("MP.TaskMan"); if (string.IsNullOrEmpty(connString)) { connString = _configuration.GetConnectionString("MP.All"); } if (string.IsNullOrEmpty(connString)) { connString = _configuration.GetConnectionString("MP.Data"); } if (string.IsNullOrEmpty(connString)) { connString = _configuration.GetConnectionString("MP.Mon"); } if (string.IsNullOrEmpty(connString)) { connString = _configuration.GetConnectionString("MP.STATS"); } if (string.IsNullOrEmpty(connString)) { connString = _configuration.GetConnectionString("MP.Land"); } optionsBuilder.UseSqlServer(connString); //optionsBuilder.UseSqlServer("Server=SQL2016DEV;Database=MoonPro;Trusted_Connection=True;"); } } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.HasAnnotation("Relational:Collation", "SQL_Latin1_General_CP1_CI_AS"); modelBuilder.Entity(entity => { entity.HasKey(e => e.Chiave); entity.ToTable("Config"); entity.Property(e => e.Chiave) .HasMaxLength(50) .HasColumnName("chiave"); entity.Property(e => e.Note).HasColumnName("note"); entity.Property(e => e.Valore).HasColumnName("valore"); entity.Property(e => e.ValoreStd) .HasColumnName("valoreStd") .HasComment("Valore di default/riferimento per la variabile"); }); OnModelCreatingPartial(modelBuilder); } #endregion Protected Methods } }