Het antwoord op uw vraag is "ja, maar...".
Het is mogelijk om een lid met de naam Id te hebben die niet . is toegewezen aan het element _id. Bijvoorbeeld:
public class X {
[BsonId]
public ObjectId MyId;
}
public class Y : X {
public string Id;
}
In een klassenhiërarchie moet het _id-lid echter moeten aan de basis van de hiërarchie staan (met andere woorden, alle leden van de hiërarchie moeten het eens zijn over het gebruik van dezelfde _id).