C# driver class mapping: map a string member to a nested mongodb field

Hi, I’m trying to do a very simple thing, I want to flatten a document to a class like so:

Document:

{ 
	code: "123",
	data: {
		other_code: "456",
	}
}

Class:

public class MyClass 
{
	[BsonElement("code")]
	public String Code { get; set; }
	
	[BsonElement("data.other_code")]
	public String OtherCode { get; set; }
}

And then I want to be able to use it in a typed query like so:

va filter = Builders<MyClass>.Filter.Where(x => x.OtherCode == "456")

The filter generated does uses my string with dot notation:

"data.other_code" : "456"

But when I execute the query with:

List<Myclass> results = collection.Find(filter ).ToList();

The member OtherCode is not populated and stays NULL. Any thoughts on how I could do it ?

I tried to write a custom BsonSerializer but the Deserialize method is never called.

Thanks for your help !