2016-12-05 3 views
0

Nehmen wir als Beispiel den Northwind odata-Dienst. Um alle Produkte eines Lieferanten '1' zu erhalten, würde ich folgendes verwenden: URL und in SAPUI5 entspricht es: oModel.read("/Suppliers(1)/Products");So lesen Sie die OData-Zuordnung für mehrere Datensätze

Aber was, wenn ich 10 verschiedene Lieferanten habe und alle Produkte dieser Lieferanten erhalten möchte. Was ist der richtige Weg? Sollte ich Schleife bei oModel.read("/Suppliers(X)/Products"); wo X ist die Lieferantennummer? Oder sollte ich Filter für den Entitätssatz Produkte verwenden?

Antwort

1

Sie könnten Lieferanten filtern und das Attribut $ expand query verwenden, um die entsprechenden Produkte in das Ergebnis aufzunehmen. Diese URL wird Lieferanten mit einer ID von weniger als 5 und ihre Produkte zurückgeben. Da ein Lieferant viele Produkte haben kann, ist es besser, umgekehrt, Produkte zu filtern und den entsprechenden Lieferanten zu erweitern. Diese URL wird Produkte zurückgeben, deren ID und Lieferanten-ID weniger als 5 sind. In einem realen Szenario würden Sie verschiedene Filter anwenden, aber die Idee sollte klar sein.

Verwandte Themen