Reputation: 18
Hi I want to inject 2 database connection strings into the repository constructor. like
var myDb = Configuration.GetSection("ConnectionStrings:MyDb").Value;
services.AddSingleton<ITokenRepo>(new TokenRepo(myDb));
I am passing one string here but I want to pass 2 different database strings. I can do by passing IConfiguration to the constructor but I want without that. my TokenRepo is like this
public class TokenRepo : ITokenRepo
{
private readonly string _connectionA;
private readonly string _connectionB;
private readonly IErrorHandling _error;
public TokenRepo(string connectionA, string connectionB)
{
_connectionA = connectionA;
_connectionA = connectionA;
_error = new ErrorHandling();
}
"ConnectionStrings": {
"DatabaseA": "Server=sql123;Database=Dev;Persist Security Info=True;User ID=appUser;Password=123456;Application Name=ABC",
"DatabaseB": "Server=sql123;Database=DEV;Persist Security Info=True;User ID=appUser;Password=123456;Application Name=DEF"
},
Upvotes: 0
Views: 3436
Reputation: 14640
Is there a reason you don't want to do it like this:
var databaseA = Configuration.GetSection("ConnectionStrings:DatabaseA").Value;
var databaseB = Configuration.GetSection("ConnectionStrings:DatabaseB").Value;
services.AddSingleton<ITokenRepo>(new TokenRepo(databaseA, databaseB));
Upvotes: 1