編集された回答:
LINQクエリからMongoクエリを取得する公式の方法がすでにあることに気づきました(知っておくべきでした!)。 GetMongoQueryメソッドにアクセスするには、IQueryable
var linqQuery = from e in collection.AsQueryable<Entity>() where e.Name == "test" select e;
var mongoQuery = ((MongoQueryable<Entity>)linqQuery).GetMongoQuery();
元の回答:
現時点では、これを行うための公式にサポートされている方法はありませんが、近い将来、LINQクエリがマップされたMongoDBクエリを簡単に見つけられるようにする予定です。
短期的には、次の文書化されていない内部メソッドを使用して、LINQクエリがマップされているMongoDBクエリを見つけることができます。
var linqQuery = from e in collection.AsQueryable<Entity>() where e.Name == "test" select e;
var translatedQuery = (SelectQuery)MongoQueryTranslator.Translate(linqQuery);
var mongoQuery = translatedQuery.BuildQuery();
ただし、ある時点で、これらの文書化されていないメソッドから公式にサポートされているメソッドに切り替える必要がある場合があります(文書化されていないメソッドは、将来変更または名前変更される可能性があります)。