2010-12-22 8 views
22

Wenn ich zwei Einheiten in meinem Modell habe, „Menschen“ und „Adressen“, und eine bestimmte Person hat keine oder mehr Adressen, über eine Addressnavigationseigenschaft zugegriffen wird, können ich eine OData Abfrage schreiben, die beantwortet die folgende Frage: „Welche Leute einen Nachnamen in Smith endet und mindestens eine Adresse“

Es scheint mir, ich hier nur ein Prädikat tun kann, zum Beispiel

http://localhost:55100/DemographicsDataService.svc/People? $ Filter = endswith (Name, 'Smith')

(Ich bin noch nicht überzeugt, ich kann sogar einen $ Filter schreibe das zweite Prädikat .., in dem Fall zu behandeln, gehe ich davon bin versuchen, die Frage zu beantworten, „Nachnamen in smith und Vornamen mit der Endung Mary Start“)

Antwort

44

Sie definitiv Prädikate im $ Filter kombinieren. Zum Beispiel:

/People?$filter=endswith(LastName,'Smith') and startswith(FirstName,'Mary') 

Einzelheiten rund um unterstützte Operatoren und so finden Sie auf dieser Seite: http://www.odata.org/documentation/odata-version-2-0/uri-conventions#FilterSystemQueryOption Derzeit OData hat keine Möglichkeit, die Frage „Die Menschen, die mindestens eine Adresse“ zum Ausdruck bringen. Abhängig von Ihren Daten ist es möglich, alle Personen, die die ersten Kriterien erfüllen, herunterzuladen und stattdessen diejenigen mit der Adresse auf dem Client zu bestimmen.

+2

Verbindung ist unterbrochen. – AustinT

+0

@ Vitek Karas MSFT: Kann der Link updateD sein? – user2439903