2010-12-22 22 views
22

Modelimde iki kişi varsa, "Kişiler" ve "Adresler" ve belirli bir Kişinin bir AdresList gezinme özelliği aracılığıyla erişilen sıfır veya daha fazla adresi varsa, bir OData sorgusu yazabilirim Aşağıdaki soruları yanıtlar:

"Hangi kişilerin soyadının Smith ve en az bir adresi ile biten ad var?"

Bana öyle geliyor ki, burada sadece bir yüklem yapabilirim, ör.

http://localhost:55100/DemographicsDataService.svc/People? $ Filtresi = endswith (Soyadı, 'Smith')

(Henüz ben bile ikinci yüklemi işlemek için bir $ filtresi yazabilirsiniz ikna olmuş değilim .. bu durumda, ben varsayalım soruyu yanıtlamaya çalışıyorum, "İsmiyle biten soyadı ve ilk adı Mary ile başlıyor")

cevap

44

Taklitçileri kesinlikle $ filtresinde birleştirebilirsiniz. Örneğin: desteklenen operatörler ve çevresindeki ayrıntılar için

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

böyle bu sayfayı bakın: http://www.odata.org/documentation/odata-version-2-0/uri-conventions#FilterSystemQueryOption Şu OData "en az bir adres var İnsanlar" sorusunu ifade etmek için bir yol yoktur. Verilerinize bağlı olarak, ilk ölçütleri yerine getiren tüm Kişileri indirmek ve bunun yerine istemcinin adresindeki müşterileri belirlemek uygun olabilir.

+2

Bağlantı bozuk. – AustinT

+0

@Vitek Karas MSFT: bağlantı güncellenebilir mi? – user2439903

İlgili konular