La documentación de MongoDB establece explícitamente :
Por otro lado, las propiedades de C# suelen ser pascal-case y no usan prefijos, por lo que los diseñadores de controladores aparentemente decidido
para forzar la asignación de Id
propiedad a _id
atributo de base de datos .
Si desea vincular un no _id
atributo que pasa a llamarse Id
en MongoDB , podría declarar otra propiedad de C# con un nombre que no sea Id
para que el controlador no interfiera con él:
public class Inner
{
public string Name { get; set; }
[BsonElement("Id")]
public string IdStr { get; set; }
}