using FreeSql; using MAX.Core.DependencyInjection; using MAX.Core.Infrastructure; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using StoreHub.Framework.Repositorys; namespace StoreHub.Framework { public class Startup : IStartup { public int Priority => int.MaxValue - 1; public void Initialize() { } public void Register(IServiceRegistrar registrar) { Func userFsqlFactory = r => { var config = r.GetRequiredService(); var connection = config.GetConnectionString("UserConnection"); IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, connection) .UseAdoConnectionPool(true) .Build(); return fsql; }; registrar.RegisterSingleton("UserDB", (s, k) => { return userFsqlFactory(s); }); Func KJDFsqlFactory = r => { var config = r.GetRequiredService(); var connection = config.GetConnectionString("KJDConnection"); IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, connection) .UseAdoConnectionPool(true) .Build(); return fsql; }; registrar.RegisterSingleton("KJDDB", (s, k) => { return KJDFsqlFactory(s); }); } } }