Anda dapat menggunakan tipe string .NET sebagai ganti ObjectId, Anda hanya perlu menghiasnya dengan BsonRepresentation. Jika Anda menggunakan BsonDateTime, Anda akan memiliki masalah konversi yang sama. Ini adalah kelas domain dalam proyek saya yang menggunakan dekorator tersebut.
public class DocumentMetadata
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }
public string Name { get; set; }
public string FullName { get; set; }
[BsonDateTimeOptions(Kind = DateTimeKind.Utc)]
public DateTime DownloadTime { get; set; }
}