Простая схема адресации для данных со стандартными URI (платформа служб данных ADO.NET)
Платформа служб данных ADO.NET реализует такую схему адресации, при которой для поиска местоположения данных используются универсальные коды ресурсов (URI). Шаблоны отношений сущностей модели Модель EDM используются для упорядочивания данных, представленных в виде сущностей и связей с сущностями, в логически сгруппированные наборы сущностей. Эти шаблоны отражены в схеме адресации URI.
Чтобы описать эту систему на примере, в следующих примерах используется служба отслеживания клиентов. Все сущности Customer
адресуются с использованием следующего URI.
http://myserver/data.svc/Customers
Сегмент /Customers
данного URI указывает на набор сущностей Customer
, определенный в метаданных. Метаданные платформы служб данных ADO.NET эквивалентны концептуальной схеме в модели EDM. Набор сущностей Customers
логически содержит все экземпляры типа сущности Customer
.
В этом синтаксисе следующий URI извлекает одну сущность Customer
, ключевое свойство которой, как определено в метаданных, имеет значение «ALFKI».
http://myserver/data.svc/Customers('ALFKI')
Сущности и связи
Метаданные описывают структуру типов сущностей и связей между сущностями. Платформа служб данных ADO.NET использует эту информацию, чтобы предоставить механизм для прослеживания связей. Например, если каждая из сущностей Customer
в службе данных имеет связанный с ней набор Orders
, следующий URI представляет набор заказов на продажу, связанный с Customer
, первичный ключ которого имеет значение «ALFKI».
http://myserver/data.svc/Customers('ALFKI')/Orders
Свойства сущности Customer
могут адресоваться индивидуально. Например, следующий URI представляет ContactName
сущности Customer
с ключом «ALFKI»:
http://myserver/data.svc/Customers('ALFKI')/ContactName
Кроме запросов на базе ключа, в схему адресации также могут включаться простые предикаты. Это позволяет выбирать наборы данных на основе свойств сущностей, например выбрать набор активных в настоящее время Orders
для Customer
с ключом «ALFKI». Эти данные извлекаются следующим URI:
http://myserver/data.svc/Customers('ALFKI')/Orders?$filter=Active eq true
Оператор $filter
, используемый в предыдущем примере, также может применяться совместно со строковыми и математическими функциями или функциями для работы с данными. Следующий URI представляет набор активных заказов для Customer
«ALFKI», сделанных в 2007 году:
http://myserver/data.svc/Customers('ALFKI')/Orders?$filter=
Active eq true and (year(OrderDate) eq 2007)
Если Orders
имеют другие связанные сущности, то URI может продолжить детализацию графа связей, проследить связи и осуществить фильтрацию каждого из результирующих наборов.
Сведения об управлении представлением
Идентификаторы URI служб данных ADO.NET также могут включать в строку запроса информацию, выполняющую сортировку данных. Общие требования для интернет-приложений включают разбиение данных по страницам и сортировку по свойствам. Следующий URI формирует список сущностей Orders
, отсортированных по дате:
http://myserver/data.svc/Customers('ALFKI')/Orders?$filter=
Active eq true&$orderby=OrderDate
Постраничный просмотр результатов обеспечивается путем объединения параметров $skip
и $top
. В списке клиентов номера в интервале 31–41 можно получить, используя следующий URI:
http://myserver/data.svc/Customers?$skip=30&$top=10
GET, PUT, POST и DELETE
Синтаксис предыдущих примеров использовался в запросе HTTP GET для извлечения сущностей и коллекций сущностей. Для обновления сущностей или связей службы данных ADO.NET используют синтаксис HTTP PUT. Аналогичным образом синтаксис HTTP POST используется для создания новых сущностей, а синтаксис HTTP DELETE — для удаления сущностей из хранилища. Дополнительные сведения см. в разделе Клиентские приложения служб данных ADO.NET.
См. также
Понятия
Службы REST и семантика (платформа служб данных ADO.NET)
Общие требования к HTTP (платформа служб данных ADO.NET)