Compartir a través de


Esquema de direccionamiento simple de datos con identificadores uniformes de recursos (URI) (marco de trabajo de los servicios de datos de ADO.NET)

El marco de trabajo de los servicios de datos de ADO.NET implementa un esquema de direccionamiento que usa los URI para buscar datos. Los modelos de la relación de entidades de Entity Data Model se usan para organizar los datos como entidades y asociaciones con entidades lógicamente agrupadas en conjuntos de entidades. Estos parámetros se reflejan en el esquema de direccionamiento de URI.

Para describir el sistema mediante ejemplos, se usa un servicio de seguimiento de clientes en los siguientes ejemplos. El siguiente URI direcciona todas las entidades de Customer.

http://myserver/data.svc/Customers

El segmento /Customers del URI apunta al conjunto de entidades Customer especificado en los metadatos. Los metadatos del marco de trabajo de los servicios de datos de ADO.NET son equivalentes al esquema conceptual de EDM. El conjunto de entidades, Customers, lógicamente contiene todas las instancias del tipo de entidad Customer.

En esta sintaxis, el URI siguiente recupera una sola entidad Customer cuya propiedad de clave, como se define en los metadatos, tiene un valor de 'ALFKI'.

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

Entidades y asociaciones

Los metadatos describen la estructura de los tipos de entidades y asociaciones entre entidades. El marco de trabajo de los servicios de datos de ADO.NET aprovecha esta información para proporcionar un mecanismo de exploración transversal. Por ejemplo, si cada una de las entidades Customer del servicio de datos tiene un conjunto de Orders asociado a ella, el siguiente URI representa el conjunto de pedidos de venta asociados con Customer cuya clave principal tiene un valor de 'ALFKI'.

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

Se pueden direccionar las propiedades de una entidad Customer individualmente. Por ejemplo, el siguiente URI representa el elemento ContactName de la entidad Customer con la clave 'ALFKI':

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

Además de las consultas basadas en clave, se pueden incluir predicados simples en el esquema de direccionamiento. Esto permite seleccionar los conjuntos de datos basados en las propiedades de las entidades, como el conjunto de Orders actualmente activo de Customer con la clave 'ALFKI'. El siguiente URI recupera estos datos:

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

El operador $filter utilizado en el ejemplo anterior también se puede usar junto con funciones de cadena, matemáticas o de fecha. El siguiente URI representa el conjunto de pedidos activos realizado en el año 2007 para la clave 'ALFKI' de Customer:

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

Si Orders tiene otras entidades relacionadas, el URI puede seguir profundizando en el gráfico de asociaciones, las asociaciones de exploración y filtrar cada uno de los conjuntos resultantes.

Información de control de presentación

Los URI de los servicios de datos de ADO.NET también pueden incluir información en la cadena de consulta que ordena los datos. Los requisitos comunes para las aplicaciones de Internet incluyen la paginación de datos y la ordenación por propiedades. Los siguientes URI muestran las entidades Orders ordenadas por fecha:

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

Los resultados de paginación se realizan combinando los parámetros $skip y $top. En una lista de clientes, los número 31 a 41 se obtienen mediante el siguiente URI:

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

GET, PUT, POST y DELETE

La sintaxis de los ejemplos anteriores se usa en una solicitud GET HTTP para recuperar entidades y colecciones de entidades. Para actualizar las entidades o relaciones, los servicios de datos de ADO.NET utilizan la sintaxis HTTP PUT. De igual forma, la sintaxis HTTP POST se usa para crear nuevas entidades y HTTP DELETE, para eliminar entidades del almacenamiento. Para obtener más información, vea Aplicaciones cliente de los servicios de datos de ADO.NET.

Vea también

Conceptos

Servicios y semántica de REST (marco de trabajo de servicios de datos de ADO.NET)
Requisitos HTTP comunes (marco de trabajo de los servicios de datos de ADO.NET)

Otros recursos

ADO.NET Entity Framework