using Furion; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Ewide.Nbzs.BackWorkerService { public class MutiDBConnectionString { public string Id { get; set; } public string ConnectionString { get; set; } public DbType DbType { get; set; } public bool Enabled { get; set; } public string ProviderName { get; set; } } public class DbManage { private static List GetConnectionStrings() { var list = App.GetConfig>("DataBaseConnectionStrings"); return list.Where(p => p.Enabled).ToList(); } private static SqlSugarClient GetDbClient() { List connectConfigList = new(); GetConnectionStrings().ForEach(p => { connectConfigList.Add(new ConnectionConfig { ConfigId = p.Id, ConnectionString = p.ConnectionString, DbType = p.DbType, IsAutoCloseConnection = true, InitKeyType = InitKeyType.Attribute }); }); var db = new SqlSugarClient(connectConfigList); return db; } public static SqlSugarProvider GetConnection(string id) { return GetDbClient().GetConnection(id); } public static string GetZlbSecretKey() { return App.GetConfig("ZlbSecretKey"); } } }