using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using System; using System.Collections.Generic; using System.Text; using TEAMModelOS.SDK.DI; namespace TEAMModelOS.SDK.DI.Multiple { public static class MultipleAzureCosmosFactoryExtensions { /// /// cosmosDB注入 /// /// /// /// /// public static IServiceCollection AddMultipleAzureCosmos(this IServiceCollection services, List<(string name, string connectionString)> connectionInfo) { if (services == null) throw new ArgumentNullException(nameof(services)); if (connectionInfo == null) throw new ArgumentNullException(nameof(connectionInfo)); services.TryAddSingleton(); connectionInfo.ForEach(connection => { services.Configure(connection.name, o => { o.Name = connection.name; o.CosmosConnectionString = connection.connectionString; }); }); //多个数据库注入 //services.Configure(name, o => { o.Name = name; o.CosmosConnectionString = connectionString; }); //单个数据库注入 return services; } } }