| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 | using DBHelper;using Microsoft.EntityFrameworkCore;using Microsoft.Extensions.Configuration;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.Linq;using WCS.Entity;using WCS.Entity.Protocol;using WCS.Entity.Protocol.BCR;using WCS.Entity.Protocol.Station;namespace WCS.Service{    public class WCSDB : DbContext    {        public WCSDB()        {        }        protected override void OnModelCreating(ModelBuilder modelBuilder)        {            var fks = modelBuilder.Model.GetEntityTypes().SelectMany(v => v.GetForeignKeys()).Where(v => v.DeleteBehavior == DeleteBehavior.Cascade).ToArray();            foreach (var fk in fks)            {                fk.DeleteBehavior = DeleteBehavior.Restrict;            }            base.OnModelCreating(modelBuilder);        }        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)        {            //var loggerFactory = new LoggerFactory();            //loggerFactory.AddProvider(new EFLoggerProvider());            optionsBuilder.UseSqlServer(AppSettings.Config.GetConnectionString("WCSDB"))/*.UseLoggerFactory(loggerFactory)*/.EnableSensitiveDataLogging();            //optionsBuilder.UseLoggerFactory(LoggerFactory.Create(builder =>            //{            //    builder.AddFilter((category, level) => category == DbLoggerCategory.Database.Command.Name && level == LogLevel.Information).AddConsole();            //}));        }        public override int SaveChanges()        {            var entities = from e in ChangeTracker.Entries()                           where e.State == EntityState.Added                               || e.State == EntityState.Modified                           select e.Entity;            List<ValidationResult> list = new List<ValidationResult>();            foreach (var entity in entities)            {                var validationContext = new ValidationContext(entity);                try                {                    Validator.ValidateObject(entity, validationContext);                }                catch (ValidationException ex)                {                    list.Add(ex.ValidationResult);                }            }            if (list.Count > 0)                throw new EntityValidationException { EntityValidationErrors = list };            return base.SaveChanges();        }        public DbSet<WCS_PLC> WCS_PLC { get; set; }        public DbSet<WCS_DATABLOCK> WCS_DATABLOCK { get; set; }        public DbSet<WCS_DEVICE> WCS_DEVICE { get; set; }        public DbSet<WCS_DEVICEPROTOCOL> WCS_DEVICEPROTOCOL { get; set; }        public DbSet<WCS_EXCEPTION> WCS_EXCEPTION { get; set; }        public DbSet<WCS_Station520> WCS_STATION520 { get; set; }        public DbSet<WCS_Station521> WCS_STATION521 { get; set; }        public DbSet<WCS_Station523> WCS_STATION523 { get; set; }        public DbSet<WCS_SystemConfig> WCS_SystemConfig { get; set; }        public DbSet<WCS_StatusLog> WCS_StatusLog { get; set; }        public DbSet<WCS_RGV520> WCS_RGV520 { get; set; }        public DbSet<WCS_RGV521> WCS_RGV521 { get; set; }        public DbSet<WCS_RGV523> WCS_RGV523 { get; set; }        public DbSet<WCS_GROUPMEMBER> WCS_GROUPMEMBER { get; set; }        public DbSet<WCS_SRM520> WCS_SRM520 { get; set; }        public DbSet<WCS_SRM521> WCS_SRM521 { get; set; }        public DbSet<WCS_SRM537> WCS_SRM537 { get; set; }        public DbSet<WCS_BCR80> WCS_BCR80 { get; set; }        public DbSet<WCS_CMD> WCS_CMD { get; set; }        public DbSet<WCS_TASK> WCS_TASK { get; set; }        public DbSet<WCS_ROUTE> WCS_ROUTE { get; set; }        public DbSet<WCS_PATH> WCS_PATH { get; set; }        public DbSet<WCS_AGVTask> WCS_AGVTask { get; set; }        public DbSet<WCS_PATHPOINT> WCS_PATHPOINT { get; set; }        public DbSet<WCS_Users> WCS_Users { get; set; }        public DbSet<WCS_MAPPINGENTRY> WCS_MAPPINGENTRY { get; set; }        public DbSet<WCS_TASK_OLD> WCS_TASK_OLD { get; set; }    }}
 |