Предполагам, че просто трябва да маркирате своя блог ID с BsonId
(и вмъкнете ID сами) атрибут:
public class Blog
{
[BsonId]
public String Id {get;set;}
public String Title{get;set;}
}
И всичко трябва да е наред. Проблемът беше, защото не сте маркирали кое поле ще бъде Mongodb _id и генерирано от драйвера _id поле с тип ObjectId. И когато драйверът се опитва да го десериализира обратно, той не може да преобразува ObjectId в String.
Пълен пример:
MongoCollection collection = md.GetCollection<Blog>("blog");
var blog = new Blog(){Id = ObjectId.GenerateNewId().ToString(),
Title = "First Blog"};
collection .Insert(blog);
MongoCursor<Blog> cursor = collection.FindAllAs<Blog>();
cursor.SetLimit(5);
var list = cursor.ToList();