DbConnectionOptions.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. // 麻省理工学院许可证
  2. //
  3. // 版权所有 (c) 2021-2023 zuohuaijun,大名科技(天津)有限公司 联系电话/微信:18020030720 QQ:515096995
  4. //
  5. // 特此免费授予获得本软件的任何人以处理本软件的权利,但须遵守以下条件:在所有副本或重要部分的软件中必须包括上述版权声明和本许可声明。
  6. //
  7. // 软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于对适销性、适用性和非侵权的保证。
  8. // 在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他方式引起的,与软件或其使用或其他交易有关。
  9. namespace Admin.NET.Core;
  10. /// <summary>
  11. /// 数据库配置选项
  12. /// </summary>
  13. public sealed class DbConnectionOptions : IConfigurableOptions<DbConnectionOptions>
  14. {
  15. /// <summary>
  16. /// 启用控制台打印SQL
  17. /// </summary>
  18. public bool EnableConsoleSql { get; set; }
  19. /// <summary>
  20. /// 数据库集合
  21. /// </summary>
  22. public List<DbConnectionConfig> ConnectionConfigs { get; set; }
  23. public void PostConfigure(DbConnectionOptions options, IConfiguration configuration)
  24. {
  25. foreach (var dbConfig in options.ConnectionConfigs)
  26. {
  27. if (string.IsNullOrWhiteSpace(dbConfig.ConfigId))
  28. dbConfig.ConfigId = SqlSugarConst.MainConfigId;
  29. }
  30. }
  31. }
  32. /// <summary>
  33. /// 数据库连接配置
  34. /// </summary>
  35. public sealed class DbConnectionConfig : ConnectionConfig
  36. {
  37. /// <summary>
  38. /// 数据库标识
  39. /// </summary>
  40. public new string ConfigId { get; set; }
  41. /// <summary>
  42. /// 数据库设置
  43. /// </summary>
  44. public DbSettings DbSettings { get; set; }
  45. /// <summary>
  46. /// 表设置
  47. /// </summary>
  48. public TableSettings TableSettings { get; set; }
  49. /// <summary>
  50. /// 种子设置
  51. /// </summary>
  52. public SeedSettings SeedSettings { get; set; }
  53. }
  54. /// <summary>
  55. /// 数据库设置
  56. /// </summary>
  57. public sealed class DbSettings
  58. {
  59. /// <summary>
  60. /// 启用库表初始化
  61. /// </summary>
  62. public bool EnableInitDb { get; set; }
  63. /// <summary>
  64. /// 启用库表差异日志
  65. /// </summary>
  66. public bool EnableDiffLog { get; set; }
  67. /// <summary>
  68. /// 启用驼峰转下划线
  69. /// </summary>
  70. public bool EnableUnderLine { get; set; }
  71. }
  72. /// <summary>
  73. /// 表设置
  74. /// </summary>
  75. public sealed class TableSettings
  76. {
  77. /// <summary>
  78. /// 启用表初始化
  79. /// </summary>
  80. public bool EnableInitTable { get; set; }
  81. /// <summary>
  82. /// 启用表增量更新
  83. /// </summary>
  84. public bool EnableIncreTable { get; set; }
  85. }
  86. /// <summary>
  87. /// 种子设置
  88. /// </summary>
  89. public sealed class SeedSettings
  90. {
  91. /// <summary>
  92. /// 启用种子初始化
  93. /// </summary>
  94. public bool EnableInitSeed { get; set; }
  95. /// <summary>
  96. /// 启用种子增量更新
  97. /// </summary>
  98. public bool EnableIncreSeed { get; set; }
  99. }