Need to communicate with multiple DBs in one application??
Usually we don’t face such scenarios. However if such requirement comes in picture, we will see how easy it is to communicate with multiple DBs using repository pattern in .Net Core Web API.
To configure mongoDB, we need to install mongoDB driver for C#, this we can install via NuGet package manager. After installation we need connection string and database name which we usually define in our appsettings.json file as shown below:
Connection string
We have connection string and DB name for two databases. Now let’s configure them in ConfigureServices method in startup.cs file
MultipleDbContext.cs
Startup.cs
Now we need our repository through which our business layer will communicate to perform CRUD operations in DB. Let’s create repository and add following configuration:
Repository.cs
We are almost done. So far we have configured multiple DBs and also configured our repository to communicate with those DBs. Only thing is left to perform CRUD operations via repository.
Get data from first DB
Get data from second DB
In our above two snippets, we can see how easy it is to get data from both First DB and Second DB. Only change we did is collection name which has been attached to their individual DB context. We can perform other CRUD operations in similar fashion.