2015-04-30 2 views
7

Я получаю MongoServer не содержит определения для исключения «Create» при компиляции кода ниже. Пожалуйста помоги мне с этим.MongoServer не содержит определения для «Create»

Библиотеки и версии

  • MongoDB.Bson 2.0.0
  • MongoDB.Driver 2.0.0
  • MongoDB.Driver.Core 2.0.0
List<Info> names = new List<Info>(); 
String name = ""; 
MongoServer server = MongoServer.Create(
    ConfigurationManager.AppSettings["connectionString"]); 
MongoDatabase myDB = server.GetDatabase("ES"); 
MongoCollection<Info> Persons = myDB.GetCollection<Info>("MyCollection"); 
foreach (Info Aperson in Persons.FindAll()) 
{ 
    name = name + " " + Aperson.Name; 
    names.Add(Aperson); 
} 

ответ

4

Метод MongoServer.Create() был удален в version 2.0. Он устарел с по крайней мере version 1.7.

Вместо этого используйте MongoClient. Чтобы получить доступ к MongoServer, используйте MongoClient.GetServer()

MongoClient client = new MongoClient(
    ConfigurationManager.AppSettings["connectionString"]); 
MongoServer server = client.GetServer(); 
3

Это то, что вам нужно сделать, используя новый MongoDB.Driver 2.0:

var connectionString = ConfigurationManager.AppSettings["connectionString"]; 

var client = new MongoClient(connectionString); 
var database = client.GetDatabase("ES"); 

var collection = database.GetCollection<BsonDocument>("MyCollection"); 
var persons = await collection.Find(new BsonDocument()).ToListAsync(); 

Смотри на: https://www.mongodb.com/blog/post/introducing-20-net-driver

С уважением.

Смежные вопросы