Startup.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System.Diagnostics;
  2. using Admin.NET.Plugin.AiDOP.Entity;
  3. using Admin.NET.Plugin.AiDOP.Entity.S0.Sales;
  4. using Admin.NET.Plugin.AiDOP.Infrastructure;
  5. using Microsoft.AspNetCore.Builder;
  6. using Microsoft.AspNetCore.Hosting;
  7. using Microsoft.Extensions.DependencyInjection;
  8. using Microsoft.Extensions.Hosting;
  9. using SqlSugar;
  10. namespace Admin.NET.Plugin.AiDOP;
  11. /// <summary>
  12. /// AiDOP 插件启动配置(按需扩展 DI)
  13. /// </summary>
  14. [AppStartup(900)]
  15. public class Startup : AppStartup
  16. {
  17. public void ConfigureServices(IServiceCollection services)
  18. {
  19. }
  20. /// <summary>
  21. /// 开发环境下为 Demo 表执行 CodeFirst(表已存在则跳过变更,行为取决于 SqlSugar 配置)。
  22. /// </summary>
  23. public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
  24. {
  25. try
  26. {
  27. AidopMenuLinkSync.EnsureLinked(app.ApplicationServices);
  28. }
  29. catch (Exception ex)
  30. {
  31. Trace.TraceWarning("Ai-DOP AidopMenuLinkSync: " + ex);
  32. }
  33. if (!env.IsDevelopment())
  34. return;
  35. using var scope = app.ApplicationServices.CreateScope();
  36. var db = scope.ServiceProvider.GetRequiredService<ISqlSugarClient>();
  37. db.CodeFirst.InitTables(
  38. typeof(AdoOrder),
  39. typeof(AdoPlan),
  40. typeof(AdoWorkOrder),
  41. typeof(AdoS0Customer),
  42. typeof(AdoS0Material),
  43. typeof(AdoS0OrderPriorityRule)
  44. );
  45. }
  46. }