다음을 통해 공유


URI를 사용한 단순한 데이터 주소 지정 스키마(ADO.NET 데이터 서비스 프레임워크)

ADO.NET 데이터 서비스 프레임워크는 URI를 사용하여 데이터를 찾는 주소 지정 스키마를 구현합니다. ADO.NET 데이터 서비스 프레임워크는 엔터티 데이터 모델의 엔터티 관계 패턴을 통해 데이터를 엔터티 및 엔터티 집합으로 논리적으로 그룹화된 엔터티와의 연결로 구성합니다. 이러한 패턴은 URI 주소 지정 스키마에서 잘 나타납니다.

다음 예제에서는 고객 추적 서비스를 통해 이 시스템을 보여 줍니다. 모든 Customer 엔터티는 다음 URI로 주소가 지정됩니다.

http://myserver/data.svc/Customers

URI의 /Customers 세그먼트는 메타데이터에 지정된 Customer 엔터티 집합을 가리킵니다. ADO.NET 데이터 서비스 프레임워크 메타데이터는 EDM의 개념 스키마에 해당합니다. 논리적으로, 엔터티 집합인 Customers에는 Customer 엔터티 형식의 모든 인스턴스가 들어 있습니다.

이 구문에서 다음 URI는 메타데이터에 정의된 대로 키 속성 값이 'ALFKI'인 단일 Customer 엔터티를 검색합니다.

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

엔터티 및 연결

메타데이터는 엔터티 형식의 구조 및 엔터티 간의 연결을 설명합니다. ADO.NET 데이터 서비스 프레임워크는 이 정보를 기반으로 연결 이동을 위한 메커니즘을 제공합니다. 예를 들어 데이터 서비스의 각 Customer 엔터티에 연결된 Orders 집합이 있을 경우 다음 URI는 기본 키 값이 'ALFKI'인 Customer와 연결된 판매 주문 집합을 나타냅니다.

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

Customer 엔터티의 속성은 개별적으로 주소를 지정할 수 있습니다. 예를 들어 다음 URI는 키가 'ALFKI'인 Customer 엔터티의 ContactName을 나타냅니다.

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

키 기반 쿼리 외에 간단한 조건자를 주소 지정 스키마에 포함할 수 있습니다. 이렇게 하면 엔터티 속성을 기반으로 데이터 집합(예: 키가 'ALFKI'인 Customer에 대해 현재 활성화된 Orders 집합)을 선택할 수 있습니다. 이 데이터는 다음 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에서 연결 그래프를 드릴다운하고 연결 간에 이동하며 각 결과 집합을 필터링할 수 있습니다.

표시 제어 정보

ADO.NET 데이터 서비스 URI의 쿼리 문자열에 데이터 정렬 정보를 포함할 수도 있습니다. 인터넷 응용 프로그램에 공통적으로 요구되는 기능이 바로 데이터 페이징과 속성별 정렬입니다. 다음 URI는 날짜별로 정렬된 Orders 엔터티를 표시합니다.

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

결과 페이징은 매개 변수 $skip$top을 결합하는 방법으로 수행됩니다. 다음 URI는 고객 목록에서 31번부터 41번까지의 번호를 가져옵니다.

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 데이터 서비스 프레임워크)

관련 자료

ADO.NET Entity Framework