using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.ChangeTracking; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.Extensions.Configuration; using System; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using TaskManager.Entity; using TaskManager.Entity.Entitys; using Wood.Util; namespace TaskManager.EntityFramework { public class JobDbContext:DbContext { private const string ConnectionStringName = "DefaultConnection"; // 保存配置的字段 private readonly IConfiguration _configuration; // 使用依赖注入的构造函数 public JobDbContext(DbContextOptions options, IConfiguration configuration) : base(options) { _configuration = configuration; // 设置命令超时时间 //this.Database.SetCommandTimeout(TimeSpan.FromMinutes(10)); } public JobDbContext(DbContextOptions options) : base(options) { } public JobDbContext() { this.Database.SetCommandTimeout(System.TimeSpan.FromMinutes(50)); } public JobDbContext(string strConn) { this.Database.SetCommandTimeout(System.TimeSpan.FromMinutes(50)); } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { // 配置数据库连接字符串 //if (!optionsBuilder.IsConfigured) //{ // // 从配置中获取连接字符串 // // var connectionString = _configuration.GetConnectionString("Server=192.168.1.228;Database=TaskManager;User ID=sa;Password=ChangkeTec@2021;TrustServerCertificate=True"); // //if (string.IsNullOrEmpty(connectionString)) // //{ // // throw new InvalidOperationException("无法从配置中获取数据库连接字符串"); // //} // // 配置SQL Server连接 // optionsBuilder.UseSqlServer("Server=192.168.1.228;Database=TaskManager;User ID=sa;Password=ChangkeTec@2021;TrustServerCertificate=True"); //} optionsBuilder.UseSqlServer("Server = 192.168.1.228; Database = TaskManager2; User ID = sa; Password = ChangkeTec@2021; TrustServerCertificate = True"); } /// /// 来料检验数据 /// public DbSet SUPPLIER_PRO_MATERIAL_STOCK { get; set; } // 类名与属性名一致 /// /// 排产数据 /// public DbSet SUPPLIER_PRO_SCHEDULING { get; set; } /// /// 供应商基础信息 /// public DbSet SUPPLIER_INFO { get; set; } /// /// 人员资质信息 /// public DbSet SUPPLIER_EMPLOYEE { get; set; } /// /// BOM主数据 /// public DbSet SUPPLIER_BOM { get; set; } /// /// 过程控制项质量数据 /// public DbSet SUPPLIER_PRO_CPS { get; set; } /// /// 生产过程数据 /// public DbSet SUPPLIER_PRO_DATA { get; set; } /// /// 产品一次合格率 /// public DbSet SUPPLIER_PRO_FIRST_PASSYIELD { get; set; } /// /// 工位一次合格率 /// public DbSet SUPPLIER_PRO_STATION_FIRST_PASSYIELD { get; set; } /// /// 缺陷业务数据 /// public DbSet SUPPLIER_PRO_FLAW { get; set; } /// /// 环境业务数据 /// public DbSet SUPPLIER_PRO_ENVIRONMENT { get; set; } /// /// 设备OEE达成率 /// public DbSet SUPPLIER_PRO_OEE_ACHIEVEMENT_RATE { get; set; } /// /// OEE时间明细 /// public DbSet SUPPLIER_PRO_OEE_TIME_DETAILS { get; set; } /// /// 物料主数据 /// public DbSet SUPPLIER_PRO_MATERIAL_DATA { get; set; } /// /// 附件类数据 /// public DbSet SUPPLIER_PRO_ATTACHMENT_DATA { get; set; } /// /// 工艺装备 /// public DbSet SUPPLIER_PRO_PROCESS_EQUIPMENT { get; set; } /// /// 工艺 /// public DbSet SUPPLIER_PRO_PROCESS { get; set; } /// /// 整车月度生产计划-2 /// public DbSet SUPPLIER_PRO_PLANING { get; set; } /// /// M+6月物料需求计划 /// public DbSet SUPPLIER_MRP_MONTH { get; set; } /// /// M+6月物料需求计划风险确认 /// public DbSet SUPPLIER_CON_MMRP { get; set; } /// /// 日物料需求计划 /// public DbSet SUPPLIER_MRP_DATE { get; set; } /// /// 日物料需求计划风险确认 /// public DbSet SUPPLIER_CON_DATE { get; set; } /// /// 计划协议 /// public DbSet SUPPLIER_SA_WEEK { get; set; } /// /// 采购订单 /// public DbSet SUPPLIER_PO { get; set; } /// /// 采购订单风险确认 /// public DbSet SUPPLIER_CON_PO { get; set; } /// /// 过焊装未过总装 /// public DbSet SUPPLIER_PRO_HSCHEDUL { get; set; } /// /// 过涂装未过总装 /// public DbSet SUPPLIER_PRO_TSCHEDUL { get; set; } /// /// 排序供货 /// public DbSet SUPPLIER_PRO_CSCHEDUL { get; set; } /// /// 看板配送单 /// public DbSet SUPPLIER_DEL_STATE { get; set; } /// /// 退货单 /// public DbSet SUPPLIER_RETURN { get; set; } /// /// 奇瑞RDC共享库存 /// public DbSet SUPPLIER_INV_DATA { get; set; } /// /// 供应商共享库存 /// public DbSet SUPPLIER_SINV_DATA { get; set; } /// /// 日MRP状态监控 /// public DbSet SUPPLIER_MRP_STATE { get; set; } public DbSet TaskLogs { get; set; } public DbSet TaskConifgure { get; set; } //public DbSet TaskConifgures { get; set; } // 配置实体映射 protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); //modelBuilder.Entity(entity => //{ // entity.ToTable("TaskConifgure"); //}); // 配置表名 // 其他配置... //工位一次合格率 modelBuilder.Entity(b => { b.ToTable("SUPPLIER_PRO_STATION_FIRST_PASSYIELD"); //供应商代码 b.Property(e => e.SupplierCode).HasColumnType("VARCHAR").HasMaxLength(32); //供应商名称 b.Property(e => e.SupplierName).HasColumnType("VARCHAR").HasMaxLength(64); //工厂代码 b.Property(e => e.PlantId).HasColumnType("VARCHAR").HasMaxLength(32); //工厂名称 b.Property(e => e.PlantName).HasColumnType("VARCHAR").HasMaxLength(64); //车间代码 b.Property(e => e.WorkshopId).HasColumnType("VARCHAR").HasMaxLength(32); //车间名称 b.Property(e => e.WorkshopName).HasColumnType("VARCHAR").HasMaxLength(64); //产线代码 b.Property(e => e.ProductionLineId).HasColumnType("VARCHAR").HasMaxLength(32); //产线名称 b.Property(e => e.ProductionLineName).HasColumnType("VARCHAR").HasMaxLength(100); //工位代码 b.Property(e => e.StationId).HasColumnType("VARCHAR").HasMaxLength(32); //工位名称 b.Property(e => e.StationName).HasColumnType("VARCHAR").HasMaxLength(64); //奇瑞零件号 b.Property(e => e.CheryProductNo).HasColumnType("VARCHAR").HasMaxLength(32); //奇瑞零件名称 b.Property(e => e.CheryProductName).HasColumnType("VARCHAR").HasMaxLength(100); //供应商总成零件号 b.Property(e => e.VendorProductNo).HasColumnType("VARCHAR").HasMaxLength(32); //供应商总成零件名称 b.Property(e => e.VendorProductName).HasColumnType("VARCHAR").HasMaxLength(100); //生产批次号 b.Property(e => e.ProductBatchNo).HasColumnType("VARCHAR").HasMaxLength(32); //生产工单号,(跟排产工单号关联) b.Property(e => e.ManufactureNo).HasColumnType("VARCHAR").HasMaxLength(32); //批次计划数量 b.Property(e => e.WorkOrderNumber).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5); //不合格数 b.Property(e => e.DefectiveNumber).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5); //合格数 b.Property(e => e.AcceptableNumber).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5); //一次合格率实际值,使用小数表示,如0.9601表示合格率为96.01%整数位最多10位,小数位最多3位 b.Property(e => e.OncePassRateRealValue).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5); //一次合格率目标值,使用小数表示,如0.96表示合格率目标为96.00%。整数位最多10位,小数位最多3位 b.Property(e => e.OncePassRateTagValue).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5); //班次,班次如何区分需备注(白班,晚班,中班) b.Property(e => e.WorkShift).HasColumnType("VARCHAR").HasMaxLength(10); //生产日期,格式(yyyy-MM-ddHH:mm:ss) b.Property(e => e.StatisticalTime).HasColumnType("CHAR").HasMaxLength(19); //值统计时间,格式(yyyy-MM-ddHH:mm:ss) b.Property(e => e.DateTime).HasColumnType("CHAR").HasMaxLength(19); b.Property(e => e.UId).HasColumnType("bigint").ValueGeneratedOnAdd().IsRequired(); b.Property(e => e.Remark).HasColumnType("NVarchar").HasMaxLength(500); b.HasKey(e => e.UId); }); } } }