Jeg formoder, at du bare skal markere dit blog-id med BsonId
(og indsæt selv id) attribut:
public class Blog
{
[BsonId]
public String Id {get;set;}
public String Title{get;set;}
}
Og alt burde være i orden. Problemet var fordi du ikke har markeret hvilket felt der vil være Mongodb _id og drivergenereret _id felt med typen ObjectId. Og når driveren prøver at deserialisere den tilbage, kan han ikke konvertere ObjectId til String.
Komplet eksempel:
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();