Saya kira Anda hanya perlu menandai Id blog Anda dengan BsonId
(dan masukkan id sendiri) atribut:
public class Blog
{
[BsonId]
public String Id {get;set;}
public String Title{get;set;}
}
Dan semua harus baik-baik saja. Masalahnya adalah karena Anda tidak menandai bidang apa yang akan menjadi _id Mongodb dan bidang _id yang dihasilkan driver dengan tipe ObjectId. Dan ketika driver mencoba deserialize kembali, dia tidak dapat mengonversi ObjectId ke String.
Contoh lengkap:
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();