简体   繁体   中英

C# MongoDB.Driver - How to form a constructor

I am currently following an online tutorial to create a RESTful API for MongoDB. The guide includes a DataAccess class for CRUD functionality. It is using the old MongoDB API which is now deprecated.There are three variables for Client, Server and Database and then has a constructor for the class:

MongoClient _client;
MongoServer _server;
MongoDatabase _db;

public DataAccess()
{
    _client = new MongoClient("mongodb://localhost:27017");
    _server = _client.GetServer();
    _db = _server.GetDatabase("EmployeeDB");      
}

The new API does not need the server variable so you just call directly on the client ( C# MongoDB.Driver GetServer is Gone, What Now? ) but I'm having trouble with the constructor. This is what I have but is throwing a "Cannot implicitly convert type" error for the _db line of code in the constructor:

MongoClient _client;
MongoDatabase _db;

public DataAccess()
{
    _client = new MongoClient("mongodb://localhost:27017");
    _db = _client.GetDatabase("Users");
}

MongoClient.GetDatabase returns IMongoDatabase interface.

Change your code to:

MongoClient _client;
IMongoDatabase _db;

public DataAccess()
{
    _client = new MongoClient("mongodb://localhost:27017");
    _db = _client.GetDatabase("Users");
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM