using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using MP.Data.DbModels; using MP.Data.DbModels.Anag; using NLog; #nullable disable // // This is here so CodeMaid doesn't reorganize this document // namespace MP.Data { public partial class MoonProContext : DbContext { #region Private Fields private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); private IConfiguration _configuration; #endregion Private Fields #region Public Constructors //public MoonProContext(IConfiguration configuration) //{ // _configuration = configuration; //} //public MoonProContext(DbContextOptions options, IConfiguration configuration) //: base(options) //{ // _configuration = configuration; //} public MoonProContext(DbContextOptions options) : base(options) { } #endregion Public Constructors #region Public Properties public virtual DbSet DbSetDbSize { get; set; } public virtual DbSet DbSetAlarmLog { get; set; } public virtual DbSet DbSetAKV { get; set; } public virtual DbSet DbSetAnagEventi { get; set; } public virtual DbSet DbSetAnagFlussi { get; set; } public virtual DbSet DbSetAnagFluxType { get; set; } public virtual DbSet DbSetAnagGruppi { get; set; } public virtual DbSet DbSetAnagStati { get; set; } public virtual DbSet DbSetAnagTags { get; set; } public virtual DbSet DbSetArticoli { get; set; } public virtual DbSet DbSetDecNumArt { get; set; } public virtual DbSet DbSetConfig { get; set; } public virtual DbSet DbSetElConfProd { get; set; } public virtual DbSet DbSetLinkMenu { get; set; } public virtual DbSet DbSetListValues { get; set; } public virtual DbSet DbSetMacchine { get; set; } public virtual DbSet DbSetMSE { get; set; } public virtual DbSet DbSetODL { get; set; } public virtual DbSet DbSetODLExp { get; set; } public virtual DbSet DbSetPODL { get; set; } public virtual DbSet DbSetPODLExp { get; set; } public virtual DbSet DbSetPzProd { get; set; } public virtual DbSet DbSetStatArticoli { get; set; } public virtual DbSet DbSetStatOdl { get; set; } public virtual DbSet DbSetEvList { get; set; } public virtual DbSet DbSetDDB { get; set; } public virtual DbSet DbSetVocabolario { get; set; } public virtual DbSet DbOperatori { get; set; } public virtual DbSet DbSetGrp2Oper { get; set; } public virtual DbSet DbSetGrp2Macc { get; set; } public virtual DbSet DbSetDatiMacchine { get; set; } public virtual DbSet DbSetMSFD { get; set; } public virtual DbSet DbSetM2S { get; set; } public virtual DbSet DbSetSMI { get; set; } public virtual DbSet DbSetSMES { get; set; } public virtual DbSet DbSetKeepAlive { get; set; } public virtual DbSet DbSetMicroStatoMacc { get; set; } public virtual DbSet DbSetStatoMacc { get; set; } public virtual DbSet DbSetStatoProd { get; set; } public virtual DbSet DbSetTurniMacc { get; set; } public virtual DbSet DbSetRegControlli { get; set; } public virtual DbSet DbSetRegScarti { get; set; } public virtual DbSet DbSetRegScartiKit { get; set; } public virtual DbSet DbSetRegDich { get; set; } public virtual DbSet DbSetRegWithCheck { get; set; } public virtual DbSet DbSetSignalLog { get; set; } public virtual DbSet DbSetStAct { get; set; } public virtual DbSet DbSetStActRow { get; set; } public virtual DbSet DbSetStAnagGruppi { get; set; } public virtual DbSet DbSetStAnagTipi { get; set; } public virtual DbSet DbSetStCheck { get; set; } public virtual DbSet DbSetStTemplate { get; set; } public virtual DbSet DbSetStTemplateRows { get; set; } public virtual DbSet DbSetCommenti { get; set; } public virtual DbSet DbSetFNQ { get; set; } public virtual DbSet DbSetVSEB { get; set; } public virtual DbSet DbSetVSODL { get; set; } public virtual DbSet DbSetVSCS { get; set; } public virtual DbSet DbSetInsManuali { get; set; } public virtual DbSet DbSetAnagCount { get; set; } public virtual DbSet DbSetInstKit { get; set; } public virtual DbSet DbSetTempKit { get; set; } public virtual DbSet DbSetWipKit { get; set; } public virtual DbSet DbSetTksScore { get; set; } public virtual DbSet DbSetRemRebLog { 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.Data"); if (string.IsNullOrEmpty(connString)) { connString = _configuration.GetConnectionString("MP.All"); } if (string.IsNullOrEmpty(connString)) { connString = _configuration.GetConnectionString("MP.Land"); } if (string.IsNullOrEmpty(connString)) { connString = _configuration.GetConnectionString("MP.Mon"); } if (string.IsNullOrEmpty(connString)) { connString = _configuration.GetConnectionString("MP.STATS"); } 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.CodArticolo); entity.ToView("v_UI_AnagArticoli"); entity.Property(e => e.CodArticolo) .IsRequired() .HasMaxLength(50); entity.Property(e => e.DescArticolo) .IsRequired() .HasMaxLength(250); entity.Property(e => e.Disegno) .IsRequired() .HasMaxLength(50); entity.Property(e => e.Tipo) .IsRequired() .HasMaxLength(50); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.CodArticolo); entity.ToView("AnagArticoli"); entity.Property(e => e.CodArticolo) .IsRequired() .HasMaxLength(50); entity.Property(e => e.DescArticolo) .IsRequired() .HasMaxLength(250); entity.Property(e => e.Disegno) .IsRequired() .HasMaxLength(50); entity.Property(e => e.Tipo) .IsRequired() .HasMaxLength(50); entity.Property(e => e.Azienda) .IsRequired() .HasMaxLength(50); // indica la colonna come calcoalta entity.Property(e => e.FlagIsNew) .HasComputedColumnSql("(CASE WHEN [CurrRev]=[ProdRev] THEN CONVERT([bit],(0),(0)) ELSE CONVERT([bit],(1),(0)) END)"); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.DataOraConf, e.IdxMacchina }); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.IdxMacchina); entity.ToView("Macchine"); entity.Property(e => e.CodMacchina).HasMaxLength(50); entity.Property(e => e.Descrizione).HasMaxLength(50); entity.Property(e => e.IdxMacchina) .IsRequired() .HasMaxLength(50); entity.Property(e => e.Nome).HasMaxLength(50); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.RowNum); entity.ToTable("MappaStatoExpl"); entity.Property(e => e.CodArticolo) .HasMaxLength(50) .HasDefaultValueSql("('-')"); entity.Property(e => e.CodMacchina).HasMaxLength(50); entity.Property(e => e.DataInizioOdl) .HasColumnType("datetime") .HasColumnName("DataInizioODL"); entity.Property(e => e.DescrizioneStato) .HasMaxLength(50) .HasDefaultValueSql("('n.d.')"); entity.Property(e => e.Disegno) .HasMaxLength(50) .HasDefaultValueSql("('')"); entity.Property(e => e.Durata) .HasColumnName("durata") .HasDefaultValueSql("((0))"); entity.Property(e => e.IdxMacchina).HasMaxLength(50); entity.Property(e => e.IdxOdl).HasColumnName("idxODL"); entity.Property(e => e.IdxStato) .HasColumnName("idxStato") .HasDefaultValueSql("((0))"); entity.Property(e => e.LastUpdate) .HasColumnType("datetime") .HasColumnName("lastUpdate"); entity.Property(e => e.Nome).HasMaxLength(50); entity.Property(e => e.PezziConf).HasDefaultValueSql("((0))"); entity.Property(e => e.PezziProd).HasDefaultValueSql("((0))"); entity.Property(e => e.Semaforo) .HasMaxLength(50) .HasDefaultValueSql("('')"); entity.Property(e => e.TCAssegnato) .HasColumnType("decimal(18, 8)") .HasColumnName("TCAssegnato") .HasDefaultValueSql("((1))"); entity.Property(e => e.TCEff) .HasColumnType("decimal(18, 8)") .HasColumnName("TCEff") .HasDefaultValueSql("((0))"); entity.Property(e => e.TCEffRT) .HasColumnType("decimal(18, 8)") .HasColumnName("TCEffRT") .HasDefaultValueSql("((0))"); entity.Property(e => e.TCLav) .HasColumnType("decimal(18, 8)") .HasColumnName("TCLav") .HasDefaultValueSql("((0))"); entity.Property(e => e.TCLavRT) .HasColumnType("decimal(18, 8)") .HasColumnName("TCLavRT") .HasDefaultValueSql("((0))"); entity.Property(e => e.TCMedio) .HasColumnType("decimal(18, 8)") .HasColumnName("TCMedio") .HasDefaultValueSql("((0))"); entity.Property(e => e.TCMedioRt) .HasColumnType("decimal(18, 8)") .HasColumnName("TCMedioRT") .HasDefaultValueSql("((0))"); entity.Property(e => e.TempoAuto) .HasColumnType("decimal(18, 8)") .HasDefaultValueSql("((0))"); entity.Property(e => e.TempoOn) .HasColumnType("decimal(18, 8)") .HasDefaultValueSql("((0))"); entity.Property(e => e.TempoRun) .HasColumnType("decimal(18, 8)") .HasDefaultValueSql("((0))"); entity.Property(e => e.Url) .HasMaxLength(250) .HasColumnName("url"); }); 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"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.CodGruppo); entity.Property(e => e.CodGruppo) .HasMaxLength(50) .HasColumnName("CodGruppo"); entity.Property(e => e.TipoGruppo) .HasMaxLength(50) .HasColumnName("TipoGruppo"); entity.Property(e => e.DescrGruppo) .HasMaxLength(250) .HasColumnName("DescrGruppo"); entity.Property(e => e.SelEnabled) .HasColumnName("SelEnabled"); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.TableName, e.FieldName, e.value }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.IdxMacchina, e.InizioStato, e.IdxTipo }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.IdxMacchina, e.InizioStato }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.Lingua, e.Lemma }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.CodGruppo, e.IdxMacchina }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.CodGruppo, e.MatrOpr }); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.IdxMacchina); entity.ToTable("DatiMacchine"); entity.Property(e => e.IdxMacchina) .HasMaxLength(50) .HasColumnName("idxMacchina"); entity.Property(e => e.CodArticoloA) .HasMaxLength(50) .HasColumnName("CodArticolo_A"); entity.Property(e => e.CodArticoloB) .HasMaxLength(50) .HasColumnName("CodArticolo_B"); entity.Property(e => e.HasCounter) .HasColumnName("hasCounter") .HasComment("Indica se la macchina abbia un COUNTER (assoluto) o meno, tipicamente true x IOB-WIN, false per IOB-PI"); entity.Property(e => e.InsEnabled) .HasColumnName("insEnabled") .HasDefaultValueSql("((1))") .HasComment("definisce se l'INSERT sia abilitato per la macchina (disabilitato in fase di ricostruzione batch...)"); entity.Property(e => e.IsTrigerDbon) .IsRequired() .HasColumnName("isTrigerDBOn") .HasDefaultValueSql("((1))") .HasComment("Abilita o meno il trigger su DiarioDiBordo x ricalcolo eventi"); entity.Property(e => e.PalletChange).HasColumnName("palletChange"); entity.Property(e => e.RefreshPeriod).HasColumnName("refreshPeriod"); entity.Property(e => e.SLogEnabled) .HasColumnName("sLogEnabled") .HasComment("definisce se sia abilitata la registrazione di TUTTI gli invii di dati in ingresso da questa specifica macchina"); entity.Property(e => e.SerialPort) .HasMaxLength(50) .HasColumnName("serialPort"); entity.Property(e => e.SimplePallet).HasColumnName("simplePallet"); entity.Property(e => e.Simulazione).HasColumnName("simulazione"); }); modelBuilder.Entity(entity => { entity.HasNoKey(); entity.ToView("v_MSFD"); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.IdxMacchina, e.IdxMacchinaSlave }) .HasName("PK_Macc2Slave"); entity.ToTable("Macchine2Slave"); entity.Property(e => e.IdxMacchina).HasMaxLength(50); entity.Property(e => e.IdxMacchinaSlave).HasMaxLength(50); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.IdxFamigliaIngresso, e.IdxMicroStato, e.ValoreIngresso }); entity.ToTable("TransizioneIngressi"); entity.Property(e => e.NextIdxMicroStato).HasColumnName("next_IdxMicroStato"); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.IdxMacchina); entity.ToTable("KeepAlive"); entity.Property(e => e.IdxMacchina).HasMaxLength(50); entity.Property(e => e.DataOraMacchina).HasColumnType("datetime"); entity.Property(e => e.DataOraStart).HasColumnType("datetime"); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.IdxST, e.Label, e.Oggetto }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.DtEvent, e.IdxODL, e.IdxST, e.Oggetto, e.Num }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.CodTempl, e.Num }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.IdxFamiglia, e.IdxStato, e.IdxTipo }); }); modelBuilder.Entity(entity => { entity.HasKey(e => e.value); entity.ToView("v_selEventiBCode"); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.IdxMacchina, e.InizioStato }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.IdxMacchina, e.DataOra, e.Causale }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.IdxMacchina, e.DataOra, e.Causale, e.CodArticolo }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.IdxMacchina, e.InizioStato }); }); modelBuilder.Entity(entity => { entity.ToView("v_selODL"); }); modelBuilder.Entity(entity => { entity.ToView("v_selCauScarto"); }); modelBuilder.Entity(entity => { entity.ToView("v_DD_exp"); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.KeyKit, e.KeyExtOrd }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.CodArtParent, e.CodArtChild }); }); modelBuilder.Entity(entity => { entity.HasKey(e => new { e.KeyFilt, e.CodOrd }); }); OnModelCreatingPartial(modelBuilder); } #endregion Protected Methods } }