top than greater equal wcf filter odata predicate

wcf - than - Filtro OData $ con mĂșltiples predicados



odata notation (1)

Si tengo dos entidades en mi modelo, "Personas" y "Direcciones", y una Persona en particular tiene cero o más direcciones, accedidas a través de una propiedad de navegación Lista de direcciones, ¿puedo escribir una consulta de OData que responda la siguiente pregunta?

"¿Qué personas tienen un apellido que termina en Smith y al menos una dirección?"

Me parece que solo puedo hacer un predicado aquí, por ejemplo

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

(Todavía no estoy convencido de que pueda escribir un $ filtro para manejar el segundo predicado ... en cuyo caso, supongo que estoy tratando de responder la pregunta, "Apellido que termina en smith y primer nombre que comienza con Mary")


Definitivamente puede combinar predicados en $ filtro. Por ejemplo:

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

Para obtener detalles sobre los operadores compatibles, consulte la siguiente página: http://www.odata.org/documentation/odata-version-2-0/uri-conventions#FilterSystemQueryOption Actualmente OData no tiene forma de expresar la pregunta " Personas que tienen al menos una dirección ". Dependiendo de sus datos, podría ser factible descargar a todas las personas que cumplan con los primeros criterios y, en su lugar, determinar aquellas con dirección en el cliente.