DbSqlServer.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Configuration;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace SnapshotWinFormsApp.Repository;
  10. public class DbSqlServer
  11. {
  12. public Dictionary<string, SqlSugarClient> DbItems { get; private set; }
  13. private static DbSqlServer _instance;
  14. public static DbSqlServer Instance => _instance ??= new DbSqlServer();
  15. private DbSqlServer()
  16. {
  17. DbItems = new Dictionary<string, SqlSugarClient>();
  18. foreach (var item in ConfigurationManager.ConnectionStrings)
  19. {
  20. var settings = (ConnectionStringSettings)item;
  21. if (settings.ProviderName.Length < 8)
  22. {
  23. var db = new SqlSugarClient(new ConnectionConfig()
  24. {
  25. ConnectionString = settings.ConnectionString,
  26. DbType = settings.Name.StartsWith("PG") ? SqlSugar.DbType.PostgreSQL: SqlSugar.DbType.SqlServer,
  27. IsAutoCloseConnection = true,
  28. InitKeyType = InitKeyType.Attribute,
  29. MoreSettings = new ConnMoreSettings
  30. {
  31. PgSqlIsAutoToLower = false,
  32. PgSqlIsAutoToLowerCodeFirst = false,
  33. }
  34. });
  35. db.Aop.OnLogExecuting = (sql, pars) =>
  36. {
  37. Console.WriteLine(sql);
  38. };
  39. DbItems.Add(settings.ProviderName + settings.Name, db);
  40. }
  41. }
  42. }
  43. }