Nehmen wir an, ich habe die folgende Dokumentstruktur in MongoDB.
%Vor%Ich möchte jedes Dokument finden, das einen Vorfahren enthält, wo _id des Vorfahren 2 ist.
Ich kann diese Abfrage in der Mongo-Shell mit folgendem Befehl ausführen: db.projects.find({"Ancestors._id": 2})
Ich kann diese Abfrage auch mit dem offiziellen C # -Treiber unter Verwendung von Query.EQ("Ancestors._id", new BsonInt32(rootProjectId))
ausführen.
Hier sind meine POCOs; Die tatsächlichen Klassen, die ich verwende, haben mehr Eigenschaften als diese, aber ich wollte die Frage nicht mit unnötigen Details überladen:
%Vor% Meine Frage lautet: Wie kann ich eine stark typisierte Abfrage mit dem C # -Treiber schreiben, damit ich "Ancestors._id" nicht als Zeichenfolge übergeben muss? Ich möchte in der Lage sein, etwas wie Query<Project>.EQ(p => p.Id, rootProjectId)
zu tun, so dass ich stattdessen einen Member-Ausdruck verwenden kann und die Klassenzuordnungen dem Treiber mitteilen, dass er "Ancestors._id" verwenden soll.
Tags und Links c# mongodb mongodb-query mongodb-.net-driver