public Repository(TenantInfo tenantInfo, IConnectionStringBuilder connStringBuilder) { tenantAwareConnString = connStringBuilder.GetConnectionStringForTenant(tenantInfo.TenantName); } public class ConnectionStringBuilder { public ConnectionStringBuilder(ITenantAwareConnStringBuilder tenantAwareConnStringBuilder, IDbConfigProvider dbConfigProvider) { } public string GetConnectionStringForTenant(string tenantName) { return tenantAwareConnStringBuilder. .UseServer(dbConfigProvider.Server) .UseCredentials(dbConfigProvider.Username, dbConfigProvider.Password) .ForTenant(tenantName) .Build(); } }