Options de requêtes d'ADO.NET Data Services
Le segment des options de requête de l'URI, comme décrit dans Format d'URI pour l'adressage des ressources (ADO.NET Data Services Framework), spécifie deux types d'informations :
Les options de requête et les paramètres d'opération de service doivent tous deux respecter les règles suivantes :
Il est possible de spécifier n'importe quelle quantité d'options de requête prises en charge dans une chaîne de requête d'URI.
Chaque option de requête peut être présente dans une chaîne de requête, indépendamment de la présence de toute autre option.
L'ordre des options de requête dans un URI n'est pas significatif.
Les noms des options de requête respectent la casse.
Les valeurs des options de requête respectent la casse.
Une option de requête système spécifique ne peut apparaître qu'une seule fois dans la chaîne de requête d'un URI de demande.
Syntaxe
La section suivante définit un ensemble de règles pour la construction d'un URI d'ADO.NET Data Services en utilisant des éléments de syntaxe à partir de la spécification de forme Backus–Naur augmentée définie dans la RFC 4234. Un URI d'ADO.NET Data Services est composé de trois sections : racine de service, chemin d'accès de ressource et options de requête qui, une fois composées, peuvent former un URI pour adresser toute ressource.
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)
Les définitions précédentes utilisent la terminologie de RFC 3986:
DIGIT
= comme défini dans RFC 3986 (0-9)host
= comme défini dans RFC 3986port
= comme défini dans RFC 3986segment-nz
= comme défini dans RFC 3986 (séquence non vide de caract. jeu extérieur de caract. réservés URI)pchar
= comme défini dans RFC 3986 (séquence non vide de caract. jeu extérieur de caract. réservés URI)
La portée et signification sémantiques de chacune des règles sont :
Service operation: nom d'une opération de service. Consultez Paramètres d'opération de service (ADO.NET Data Services Framework).
resourceSet: nom d'un jeu de ressources. Les caractères autorisés correspondent au jeu de caractères autorisés pour les noms EntitySet dans la spécification EDM (Entity Data Model).
Resource type : nom d'un type de ressource dans le jeu de ressources référencé dans le segment de chemin d'accès précédent. Les caractères autorisés correspondent au jeu de caractères autorisés pour les noms EntityType dans la spécification EDM (Entity Data Model).
Resource property : nom d'une propriété de ressource sur le type de ressource ou type complexe de ressource dans le segment de chemin d'accès. Les caractères autorisés correspondent au jeu de caractères autorisés pour les noms de la propriété EntityType dans la spécification EDM.
Resource navigation property : nom d'une propriété de navigation de ressource ou lien de navigation de ressource sur le type de ressource dans le segment du chemin d'accès qui le précède. Si le segment précédent est un jeu de ressources, cette propriété doit porter sur le type dans le jeu de ressources spécifié. Pour plus d'informations sur les propriétés de lien et de navigation, consultez Règles et sémantique du chemin d'accès aux ressources (ADO.NET Data Services Framework). Les caractères autorisés correspondent au jeu de caractères autorisés pour les noms de la propriété de navigation dans la spécification EDM.
System query operation
= "$" query "=" query
Cette sorte de syntaxe commence par$
et vient après le?
dans l'URI. Pour plus d'informations, consultez Options de requête système d'ADO.NET Data Services.Service Operation Parameter
= query "=" query
Ces requêtes sont des paramètres des opérations de service. Les requêtes peuvent être une entrée pour une opération de service avec les résultats des requêtes comme paramètres de la fonction. Pour plus d'informations, consultez Paramètres d'opération de service (ADO.NET Data Services Framework).
La syntaxe suivante montre les différentes parties d'un URI d'ADO.NET Data Service.
http://www.example.com:88/path/service.root.svc/Customers(‘ALFKI’)/Orders?$skip=2&$take=2
Les parties de l'URI sont :
Racine de service :www.example.com:88/path/service.root.svc
Hôte :www.example.com
Port : 88
Chemin d'accès de ressource :/Customers(‘ALFKI’)/Orders
Jeu de ressources : Customers
Chemin de navigation :(‘ALFKI’)/Orders
Prédicat de clé : ‘ALFKI’
Propriété de navigation du chemin de navigation : Orders
Options de requête :$skip=2&$top=2
Voir aussi
Concepts
Règles et sémantique du chemin d'accès aux ressources (ADO.NET Data Services Framework)
Options de requête système d'ADO.NET Data Services
Paramètres d'opération de service (ADO.NET Data Services Framework)