Bearbeitete Antwort:
Mir wurde klar, dass es bereits eine offizielle Möglichkeit gibt, die Mongo-Abfrage aus einer LINQ-Abfrage zu erhalten (ich hätte es wissen müssen!). Sie müssen das IQueryable
var linqQuery = from e in collection.AsQueryable<Entity>() where e.Name == "test" select e;
var mongoQuery = ((MongoQueryable<Entity>)linqQuery).GetMongoQuery();
Ursprüngliche Antwort:
Im Moment gibt es dafür keine offiziell unterstützte Möglichkeit, aber in naher Zukunft wollen wir es einfach machen, herauszufinden, welcher MongoDB-Abfrage die LINQ-Abfrage zugeordnet wurde.
Kurzfristig könnten Sie die folgenden undokumentierten internen Methoden verwenden, um herauszufinden, welcher MongoDB-Abfrage die LINQ-Abfrage zugeordnet ist:
var linqQuery = from e in collection.AsQueryable<Entity>() where e.Name == "test" select e;
var translatedQuery = (SelectQuery)MongoQueryTranslator.Translate(linqQuery);
var mongoQuery = translatedQuery.BuildQuery();
Aber irgendwann müssen Sie möglicherweise von diesen undokumentierten Methoden zu offiziell unterstützten Methoden wechseln (die undokumentierten Methoden könnten sich in Zukunft ändern oder umbenannt werden).