Ik veronderstel dat je gewoon je blog-ID moet markeren met BsonId
(en voer zelf een id in) kenmerk:
public class Blog
{
[BsonId]
public String Id {get;set;}
public String Title{get;set;}
}
En alles zou in orde moeten zijn. Het probleem was omdat je niet hebt gemarkeerd welk veld Mongodb _id zal zijn en het door een driver gegenereerde _id-veld met het type ObjectId. En wanneer de bestuurder het terug probeert te deserialiseren, kan hij ObjectId niet converteren naar String.
Compleet voorbeeld:
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();