Usman Ahmed
Usman Ahmed

Reputation: 18

Multiple connection strings in asp.net core using dapper

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

Answers (1)

John H
John H

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

Related Questions