Opciones de consulta de los servicios de datos de ADO.NET

El segmento de opciones de consulta del URI, tal y como se describe en Formato de URI de los recursos de direccionamiento (marco de trabajo de los servicios de datos de ADO.NET), especifica dos tipos de información:

  1. Opciones de consulta del sistema de servicios de datos de ADO.NET.

  2. Parámetros de operación de servicio (marco de trabajo de los servicios de datos de ADO.NET).

Las opciones de consulta y los parámetros de operación de servicio deben cumplir las reglas siguientes:

  • Cualquier número de opciones de consulta admitidas se puede especificar en una sola cadena de consulta de URI.

  • Cada opción de consulta se puede presentar en una cadena de consulta independiente de la presencia de cualquier otra opción.

  • El orden de las opciones de consulta de un URI no es significativo.

  • La opción de consulta distingue mayúsculas de minúsculas.

  • Los valores de las opciones de consulta distinguen mayúsculas de minúsculas.

  • Una opción de consulta del sistema específica sólo puede aparecer una vez en la cadena de consulta de un URI de solicitud.

Sintaxis

En la sección siguiente se define un conjunto de reglas para construir un URI de servicios de datos de ADO.NET utilizando los elementos de sintaxis de la especificación Backus-Naur Form ampliada definida en RFC 4234. Un URI del servicio de datos de ADO.NET está formado por tres secciones: raíz del servicio, ruta de acceso del recurso y opciones de consulta que, cuando se forman, pueden constituir un URI para direccionar cualquier recurso.

ADO.NET_DataService_URI = "http://" serviceRoot [ resourcePath ["?" queryOptions ] ]

serviceRoot = host [ ":" port ] [*( "/" segment-nz )]

resourcePath = "/" resourceSet | serviceOperation [ navPath ] 

navPath = ("("keyPredicate")" [ navPath_np / propertyPath / propertyPath_ct ] )

navPath_np = "/" resourceNavigationProperty [ navPath ]

propertyPath = "/" resourceProperty [ "/$value" ] 

propertyPath_ct = 1*("/" resourceComplexType) [ propertyPath ]

keyPredicate = 1*DIGIT / ("’" 1*unreserved "’") / 1*(HEXDIG HEXDIG) ["," keyPredicate]
 //NOTE: strings, GUIDs, and dates are enclosed in quotation marks.

queryOptions = sysQueryOperation / serviceOpParamName *(“&” sysQueryOperation / serviceOpParam)

Las definiciones anteriores utilizan la terminología de RFC 3986:

  • DIGIT = tal y como se define en RFC 3986 (0-9)

  • host = tal y como se define en RFC 3986

  • DIGIT = tal y como se define en RFC 3986

  • segment-nz = tal y como se define en RFC 3986 (la secuencia de caracteres no vacía fuera del conjunto de caracteres reservados del URI)

  • pchar = tal y como se define en RFC 3986 (la secuencia de caracteres no vacía fuera del conjunto de caracteres reservados del URI)

El significado semántico y ámbito de cada una de las reglas es:

  • Service operation: nombre de una operación de servicio. Visite Parámetros de operación de servicio (marco de trabajo de los servicios de datos de ADO.NET).

  • resourceSet: nombre de un conjunto de recursos. Los caracteres permitidos coinciden con el conjunto de caracteres permitidos para los nombres EntitySet de la especificación de Entity Data Model (EDM).

  • Resource type: el nombre de un tipo de recurso dentro del conjunto de recursos al que se hace referencia en el segmento de ruta de acceso anterior. Los caracteres permitidos coinciden con el conjunto de caracteres permitidos para los nombres EntityType de la especificación de Entity Data Model (EDM).

  • Resource property: nombre de una propiedad de recurso en el tipo de recurso o tipo complejo de recurso del segmento de ruta de acceso. Los caracteres permitidos coinciden con el conjunto de caracteres permitidos para los nombres de propiedad EntityType de la especificación de EDM.

  • Resource navigation property: nombre de una propiedad de navegación de recurso o un vínculo de navegación de recurso en el tipo de recurso del segmento de ruta de acceso que lo precede. Si el segmento anterior es un conjunto de recursos, esta propiedad debe estar en el tipo dentro del conjunto de recursos especificado. Para obtener más información sobre propiedades de navegación y vínculo, vea Semántica y reglas de rutas de acceso de recursos (marco de trabajo de los servicios de datos de ADO.NET). Los caracteres permitidos coinciden con el conjunto de caracteres permitidos para los nombres de propiedad de navegación de la especificación de EDM.

  • System query operation= "$" query "=" query Este tipo de sintaxis empieza por $ y viene después de ? en el URI. Para obtener más información, vea Opciones de consulta del sistema de servicios de datos de ADO.NET.

  • Service Operation Parameter= query "=" query Estas consultas son parámetros de operaciones de servicio. Las consultas se pueden aceptar como entrada de una operación de servicio con los resultados de las consultas como parámetros de la función. Para obtener más información, vea Parámetros de operación de servicio (marco de trabajo de los servicios de datos de ADO.NET).

La sintaxis siguiente muestra las distintas partes de un URI del servicio de datos de ADO.NET.

http://www.example.com:88/path/service.root.svc/Customers(‘ALFKI’)/Orders?$skip=2&$take=2

Las partes del URI incluyen:

Raíz del servicio: www.example.com:88/path/service.root.svc

Host: www.example.com

Puerto: 88

Ruta de acceso del recurso: /Customers(‘ALFKI’)/Orders

Conjunto de recursos: Customers

Ruta de navegación: (‘ALFKI’)/Orders

Predicado de clave: ‘ALFKI’

Propiedad de navegación de la ruta de navegación: Orders

Opciones de consulta: $skip=2&$top=2

Vea también

Conceptos

Semántica y reglas de rutas de acceso de recursos (marco de trabajo de los servicios de datos de ADO.NET)
Opciones de consulta del sistema de servicios de datos de ADO.NET
Parámetros de operación de servicio (marco de trabajo de los servicios de datos de ADO.NET)