using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Configuration; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Xml; using WPFWCSDemo.Models.Tables; using WPFWCSDemo.Utilities; namespace WPFWCSDemo.Data { public class AppDbContext : DbContext { public DbSet Tasks { get; set; } public DbSet TaskViews { get; set; } public DbSet TaskHistoriesView { get; set; } public DbSet TaskHistories { get; set; } public DbSet Alarms { get; set; } public DbSet AlarmHistories { get; set; } public DbSet LoadedState { get; set; } public DbSet Event_Log { get; set; } public DbSet LineState { get; set; } public DbSet ConvRequest { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer(ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString); } /// /// 配置库与库表的映射关系 /// /// protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); //TASK表配置 modelBuilder.Entity(e => { e.ToTable("TASK"); e.HasKey(t => t.TaskId); }); //TASK_VIEW表配置 modelBuilder.Entity(e => { e.ToView("TASK_VIEW"); e.Property(t => t.JobId).HasColumnName("环穿编号"); e.Property(t => t.TaskId).HasColumnName("任务号"); e.Ignore(t => t.PalletId); e.Property(t => t.TaskType).HasColumnName("任务类型"); e.Property(t => t.TaskState).HasColumnName("任务状态"); e.Property(t => t.ScheduleState).HasColumnName("调度状态"); e.Property(t => t.SourceLocation).HasColumnName("源站点"); e.Property(t => t.TargetLocation).HasColumnName("目标站点"); e.Ignore(t => t.ReportState); e.Ignore(t => t.Priority); e.Property(t => t.CreateTime).HasColumnName("生成时间"); e.Property(t => t.ScheduleTime).HasColumnName("调度时间"); e.HasNoKey(); }); //TASK_HISTORY表配置 modelBuilder.Entity(e => { e.ToTable("TASK_HISTORY"); e.HasKey(t => t.Id); }); //TASK_HISTORY_VIEW表配置 modelBuilder.Entity(e => { e.ToView("TASK_HISTORY_VIEW"); e.Property(t => t.JobId).HasColumnName("环穿编号"); e.Property(t => t.TaskId).HasColumnName("任务号"); e.Ignore(t => t.PalletId); e.Property(t => t.TaskType).HasColumnName("任务类型"); e.Property(t => t.TaskState).HasColumnName("任务状态"); e.Property(t => t.ScheduleState).HasColumnName("调度状态"); e.Property(t => t.SourceLocation).HasColumnName("源站点"); e.Property(t => t.TargetLocation).HasColumnName("目标站点"); e.Ignore(t => t.ReportState); e.Ignore(t => t.Priority); e.Property(t => t.CreateTime).HasColumnName("生成时间"); e.Property(t => t.ScheduleTime).HasColumnName("调度时间"); e.Property(t => t.FinishTime).HasColumnName("结束时间"); e.HasNoKey(); }); //ALARM表配置 modelBuilder.Entity(e => { e.ToTable("ALARM"); e.HasKey(a => a.Point_Id); }); //ALARM_LOG表配置 modelBuilder.Entity(e => { e.ToTable("ALARM_LOG"); e.HasKey(a => a.Id); }); //LOADEDSTATE表配置 modelBuilder.Entity(e => { //e.ToTable("LoadedState"); e.HasKey(a => a.Station); }); //EVENT_LOG表配置 modelBuilder.Entity(e => { e.ToTable("EVENT_LOG"); e.HasKey(a => a.Id); }); //LINESTATE表配置 modelBuilder.Entity(e => { e.ToTable("LINESTATE"); e.HasKey(a => a.Name); }); //CONVREQUEST表配置 modelBuilder.Entity(e => { e.ToTable("CONVREQUEST"); e.HasKey(a => a.Id); }); } } }