Bewerkt antwoord:
Ik realiseerde me dat er al een officiële manier is om de Mongo-query van een LINQ-query te krijgen (ik had het moeten weten!). Je moet de IQueryable
var linqQuery = from e in collection.AsQueryable<Entity>() where e.Name == "test" select e;
var mongoQuery = ((MongoQueryable<Entity>)linqQuery).GetMongoQuery();
Oorspronkelijk antwoord:
Op dit moment is er geen officieel ondersteunde manier om dat te doen, maar in de nabije toekomst zijn we van plan om het gemakkelijk te maken om erachter te komen aan welke MongoDB-query de LINQ-query is toegewezen.
Op korte termijn zou je de volgende ongedocumenteerde interne methoden kunnen gebruiken om erachter te komen aan welke MongoDB-query de LINQ-query is toegewezen:
var linqQuery = from e in collection.AsQueryable<Entity>() where e.Name == "test" select e;
var translatedQuery = (SelectQuery)MongoQueryTranslator.Translate(linqQuery);
var mongoQuery = translatedQuery.BuildQuery();
Maar op een gegeven moment moet je misschien overschakelen van deze ongedocumenteerde methoden naar officieel ondersteunde methoden (de ongedocumenteerde methoden kunnen in de toekomst veranderen of worden hernoemd).