[gelöst] n:n über ODATA auslesen

17. Dezember 2015 11:50

Hallo zusammen,

ich möchte gerne eine n:n Beziehung in JavaScript mittels ODATA auslesen. Also habe ich mir den Schemanamen der n:n Beziehung rausgesucht und daraus eine ODATA Anfrage gebastelt:
Code:
 var temp = GetResultSetWithOData("/opd_project_systemuser_referringSet?$select=*");

Die Funktion GetResultSetWithOData() baut mir daraus eine vollständige OData Anfrage. Soweit so schön. Das ganze liefert mir ein Array mit sämtlichen Project User Verknüpfungen zurück. Wenn ich das Array ansehe habe ich da in den einzelnen Arrayelementen die werte opd_projectid und systemuserid und noch ein zwei andere Werte stehen die für mich aber nicht interessant sind. Nun möchte ich nur die n:n Einträge für das Projekt haben in dem ich mich gerade befinde. Ich habe also einen Filter an die OData Anfrage gehängt. Im von der oberen Abfrage zurückgelieferten Array sehe ich ja das meine Projektid in dem Feld opd_projectid(alles kleingeschrieben) steht. Also habe ich die Abfrage wie folgt angepasst:
Code:
GetResultSetWithOData("/opd_project_systemuser_referringSet?$select=*$filter=opd_projectid eq guid'" + Xrm.Page.data.entity.getId() + "'");

Das lieferte aber undefined zurück. Ich habe dann versucht die Abfrage wenigstens geordnet rauszugeben:
Code:
getResultSetWithOData("/itarapro_project_systemuser_referringSet?$select=*$orderby=opd_projectid desc");

Aber auch das liefert nichts zurück nur ganz ohne Filter und Orderby bekomme ich Ergebnisse. Ich verstehe das einfach nicht. :shock: Bei allen anderen Entitäten funktionieren die OData Abfragen ganz easy. Liegt es hier an der n:n, dass es sich hier so seltsam verhält?

Wäre sehr dankbar wenn mir jemand den richtigen Ansatz verraten könnte. Ich sehe einfach nicht was ich falsch machen. :-?
Zuletzt geändert von Nicole Schmitz am 7. Januar 2016 12:54, insgesamt 1-mal geändert.

Re: n:n über ODATA auslesen

17. Dezember 2015 16:17

Hallo Nicole,

hast du mal mit dem Odata Query Designer deine gewünschte Abfrage erstellt und dann mit deiner Abfrage verglichen?

Das Tool findest du hier: ODATA Query Designer