Modèle d'adressage simple pour les données avec des URI uniformes (ADO.NET Data Services Framework)

ADO.NET Data Services Framework implémente un modèle d'adressage qui utilise des URI pour rechercher les données. Les modèles de relation d'entités du Entity Data Model sont utilisés pour organiser les données en tant qu'entités et associations, avec les entités groupées logiquement dans des jeux d'entités. Ces modèles sont reflétés dans le modèle d'adressage d'URI.

Pour illustrer le système, un service de suivi de clients est utilisé dans les exemples suivants. Toutes les entités Customer sont adressées par l'URI suivant.

http://myserver/data.svc/Customers

Le segment /Customers de l'URI pointe vers le jeu d'entités Customer spécifié dans les métadonnées. Les métadonnées ADO.NET Data Services Framework équivalent au schéma conceptuel dans le modèle EDM. Le jeu d'entités, Customers, contient logiquement toutes les instances du type d'entité Customer.

Dans cette syntaxe, l'URI suivant extrait une entité Customer unique dont la propriété de clé, telle que définie dans les métadonnées, a la valeur 'ALFKI'.

http://myserver/data.svc/Customers('ALFKI')

Entités et associations

Les métadonnées décrivent la structure des types d'entités et les associations entre les entités. ADO.NET Data Services Framework utilise ces informations pour fournir un mécanisme de parcours d'association. Par exemple, si chacune des entités Customer dans le service de données est associée à un jeu d'éléments Orders, l'URI suivant représente l'ensemble de commandes associées à l'élément Customer dont la clé primaire a la valeur 'ALFKI'.

http://myserver/data.svc/Customers('ALFKI')/Orders

Les propriétés d'une entité Customer peuvent être adressées individuellement. Par exemple, l'URI suivant représente le ContactName de l'entité Customer avec la clé 'ALFKI' :

http://myserver/data.svc/Customers('ALFKI')/ContactName

Outre les requêtes basées sur des clés, vous pouvez inclure des prédicats simples dans le modèle d'adressage. Cela vous permet de sélectionner des ensembles de données en fonction des propriétés des entités, tels que l'ensemble d'éléments Orders actuellement actifs pour le Customer avec la clé 'ALFKI'. Ces données sont extraites à l'aide de l'URI suivant :

http://myserver/data.svc/Customers('ALFKI')/Orders?$filter=Active eq true

L'opérateur $filter utilisé dans l'exemple précédent peut également être utilisé avec des fonctions de chaîne, de date ou mathématiques. L'URI suivant représente l'ensemble de commandes actives effectuées en 2007 pour le Customer 'ALFKI' :

http://myserver/data.svc/Customers('ALFKI')/Orders?$filter=
Active eq true and (year(OrderDate) eq 2007)

Si les Orders ont d'autres entités connexes, l'URI peut continuer à analyser le graphique d'association, à parcourir les associations et à filtrer chacun des ensembles résultants.

Informations de contrôle de présentation

Les URI ADO.NET Data Services peuvent également inclure des informations dans la chaîne de requête qui trie les données. Les spécifications courantes applicables aux applications Internet incluent la pagination des données et le tri par propriété. Les URI suivants répertorient les entités Orders triées par date :

http://myserver/data.svc/Customers('ALFKI')/Orders?$filter=
Active eq true&$orderby=OrderDate

Les résultats de pagination sont obtenues en combinant les paramètres $skip et $top. Dans une liste de clients, les numéros 31 à 41 sont obtenus par l'URI suivant :

http://myserver/data.svc/Customers?$skip=30&$top=10 

GET, PUT, POST et DELETE

La syntaxe des exemples précédents est utilisée dans une demande HTTP GET afin d'extraire les entités et les collections d'entités. Pour mettre à jour des entités ou des relations, ADO.NET Data Services utilise la syntaxe HTTP PUT. De même, la syntaxe HTTP POST est utilisée pour créer des entités et la syntaxe HTTP DELETE pour supprimer des entités du stockage. Pour plus d'informations, consultez Applications clientes d'ADO.NET Data Services.

Voir aussi

Concepts

Services et sémantique REST (ADO.NET Data Services Framework)
Spécifications HTTP courantes (ADO.NET Data Services Framework)

Autres ressources

ADO.NET Entity Framework