Jag antar att du bara behöver markera ditt blogg-ID med BsonId
(och infoga id själv) attribut:
public class Blog
{
[BsonId]
public String Id {get;set;}
public String Title{get;set;}
}
Och allt borde vara okej. Problemet berodde på att du inte markerat vilket fält som ska vara Mongodb _id och drivrutinsgenererat _id-fält med typen ObjectId. Och när föraren försöker deserialisera tillbaka den kan han inte konvertera ObjectId till String.
Komplett exempel:
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();