आप ObjectId के बजाय .NET स्ट्रिंग प्रकार का उपयोग कर सकते हैं, आपको बस इसे BsonRepresentation से सजाने की आवश्यकता है। यदि आप BsonDateTime का उपयोग करते हैं, तो आपके पास एक ही रूपांतरण समस्या होगी। यह मेरी परियोजना में एक डोमेन वर्ग है जो उन सज्जाकारों का उपयोग करता है।
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; }
}