Getting the field name of document without hardcoding field name mongoDB driver c#

What you need is C# property name to MongoDB field name conversion.

using MongoDB.Bson.Serialization;
using System.Diagnostics;


var serializer = BsonSerializer.LookupSerializer<YourClass>() as IBsonDocumentSerializer;

// Name of "VariationList"
serializer.TryGetMemberSerializationInfo(nameof(YourClass.VariationList), out var serializationInfo1);
var variationListName = serializationInfo1.ElementName;

// Name of "_id", provided your class has the property with [BsonId]VariationListClass.MyId
serializer.TryGetMemberSerializationInfo(nameof(VariationListClass.MyId), out var serializationInfo2);
var variationListIdName = serializationInfo2.ElementName;

// Output the name in mongodb. You have to concat them into "VariationList._id"
Debug.WriteLine($"{variationListName}.{variationListIdName}");