using FreeSql; using Microsoft.Extensions.Configuration; using Volo.Abp.DependencyInjection; namespace JiShe.CollectBus.FreeSql { public class FreeSqlProvider : IFreeSqlProvider, ISingletonDependency { /// /// Initializes a new instance of the class. /// /// The configuration. public FreeSqlProvider(IConfiguration configuration) { GetInstance(configuration); } public FreeSqlCloud Instance { get; set; } = new(); public FreeSqlCloud GetInstance(IConfiguration configuration) { Instance = new FreeSqlCloud { DistributeTrace = log => Console.WriteLine(log.Split('\n')[0].Trim()) }; Instance.Register(DbEnum.EnergyDB, () => new FreeSqlBuilder() .UseConnectionString(DataType.SqlServer, configuration.GetConnectionString(DbEnum.EnergyDB.ToString())) .Build()); Instance.Register(DbEnum.PrepayDB, () => new FreeSqlBuilder() .UseConnectionString(DataType.SqlServer, configuration.GetConnectionString(DbEnum.PrepayDB.ToString())) .Build()); return Instance; } } }