WCSDB.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. using DBHelper;
  2. using Microsoft.EntityFrameworkCore;
  3. using Microsoft.Extensions.Configuration;
  4. using System.Collections.Generic;
  5. using System.ComponentModel.DataAnnotations;
  6. using System.Linq;
  7. using WCS.Entity;
  8. using WCS.Entity.Protocol;
  9. namespace WCS.Service
  10. {
  11. public class WCSDB : DbContext
  12. {
  13. public WCSDB()
  14. {
  15. }
  16. protected override void OnModelCreating(ModelBuilder modelBuilder)
  17. {
  18. base.OnModelCreating(modelBuilder);
  19. }
  20. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  21. {
  22. optionsBuilder.UseSqlServer(AppSettings.Config.GetConnectionString("WCSDB"));
  23. //optionsBuilder.UseLoggerFactory(LoggerFactory.Create(builder =>
  24. //{
  25. // builder.AddFilter((category, level) => category == DbLoggerCategory.Database.Command.Name && level == LogLevel.Information).AddConsole();
  26. //}));
  27. }
  28. public override int SaveChanges()
  29. {
  30. var entities = from e in ChangeTracker.Entries()
  31. where e.State == EntityState.Added
  32. || e.State == EntityState.Modified
  33. select e.Entity;
  34. List<ValidationResult> list = new List<ValidationResult>();
  35. foreach (var entity in entities)
  36. {
  37. var validationContext = new ValidationContext(entity);
  38. try
  39. {
  40. ////当前发生变更的实体是否是WCS_TASK
  41. //if (entity.GetType() == typeof(WCS.Entity.WCS_TASK))
  42. //{
  43. // var task = entity as WCS.Entity.WCS_TASK;
  44. // task.CreateStatusLog(this);
  45. //}
  46. Validator.ValidateObject(entity, validationContext);
  47. }
  48. catch (ValidationException ex)
  49. {
  50. list.Add(ex.ValidationResult);
  51. }
  52. }
  53. if (list.Count > 0)
  54. throw new EntityValidationException { EntityValidationErrors = list };
  55. return base.SaveChanges();
  56. }
  57. public DbSet<WCS_PLC> WCS_PLC { get; set; }
  58. public DbSet<WCS_DATABLOCK> WCS_DATABLOCK { get; set; }
  59. public DbSet<WCS_DEVICE> WCS_DEVICE { get; set; }
  60. public DbSet<WCS_DEVICEPROTOCOL> WCS_DEVICEPROTOCOL { get; set; }
  61. public DbSet<WCS_EXCEPTION> WCS_EXCEPTION { get; set; }
  62. public DbSet<WCS_STATION520> WCS_STATION520 { get; set; }
  63. public DbSet<WCS_STATION521> WCS_STATION521 { get; set; }
  64. public DbSet<WCS_STATION523> WCS_STATION523 { get; set; }
  65. public DbSet<WCS_SystemConfig> WCS_SystemConfig { get; set; }
  66. public DbSet<WCS_StatusLog> WCS_StatusLog { get; set; }
  67. public DbSet<WCS_RGV520> WCS_RGV520 { get; set; }
  68. public DbSet<WCS_RGV521> WCS_RGV521 { get; set; }
  69. public DbSet<WCS_RGV523> WCS_RGV523 { get; set; }
  70. public DbSet<WCS_SC520> WCS_SC520 { get; set; }
  71. public DbSet<WCS_SC521> WCS_SC521 { get; set; }
  72. public DbSet<WCS_SC537> WCS_SC537 { get; set; }
  73. public DbSet<WCS_BCR80> WCS_BCR80 { get; set; }
  74. public DbSet<WCS_CMD> WCS_CMD { get; set; }
  75. public DbSet<WCS_TASK> WCS_TASK { get; set; }
  76. public DbSet<WCS_ROUTE> WCS_ROUTE { get; set; }
  77. public DbSet<WCS_PATH> WCS_PATH { get; set; }
  78. public DbSet<WCS_Robot> WCS_Robot { get; set; }
  79. public DbSet<WCS_RobotStation> WCS_RobotStation { get; set; }
  80. public DbSet<WCS_AGVTask> WCS_AGVTask { get; set; }
  81. public DbSet<WCS_PATHPOINT> WCS_PATHPOINT { get; set; }
  82. public DbSet<WCS_Users> WCS_Users { get; set; }
  83. public DbSet<WCS_MAPPINGENTRY> WCS_MAPPINGENTRY { get; set; }
  84. public DbSet<WCS_DRGV520> WCS_DRGV520 { get; set; }
  85. public DbSet<WCS_DRGV521> WCS_DRGV521 { get; set; }
  86. public DbSet<WCS_DRGV523> WCS_DRGV523 { get; set; }
  87. }
  88. }