Bạn có thể sử dụng kiểu chuỗi .NET thay vì ObjectId, Bạn chỉ cần trang trí nó bằng BsonRepresentation. Nếu bạn sử dụng BsonDateTime, bạn sẽ gặp vấn đề chuyển đổi tương tự. Đây là lớp miền trong dự án của tôi sử dụng các trình trang trí đó.
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; }
}