Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Tutte le entità accessibili in ADO.NET Data Services sono indirizzabili tramite URI. Gli URI di ADO.NET Data Services sono conformi alla grammatica URI generica e utilizzano il protocollo HTTP (Hypertext Transfer Protocol). Gli URI di ADO.NET Data Services sono costituiti da tre sezioni: radice del servizio, percorso della risorsa e opzioni query, che formano l'URI utilizzato per indirizzare qualsiasi risorsa in ADO.NET Data Services.
Radice del servizio
La sezione della radice del servizio dell'URI rappresenta il percorso della radice di ADO.NET Data Services. La risorsa associata alla radice di ADO.NET Data Services descrive tutti gli elementi EntitySet, AssociationSet e/o le operazioni di servizio del servizio. Sono URI validi comprensivi solo degli elementi schema e nome del servizio:
https://www.contoso.comhttp://::1:8080/myservice.svchttps://www.contoso.com/path/myservice.svc/
Percorso della risorsa
L'elemento relativo al percorso della risorsa dell'URI determina come comporre i nomi di set di entità, tipo di entità, proprietà di navigazione, collegamento di navigazione, proprietà, tipo complesso e operazione del servizio per generare un URI che identifica una risorsa in ADO.NET Data Services.
L'elemento del percorso della risorsa dell'URI consente operazioni di filtro e attraversamento del grafico di entità in un servizio dati. Questa sezione non include costrutti per modificare il formato della risposta di una richiesta all'URI specificato. Per informazioni sulla modifica del formato di risposta, vedere Opzioni query di ADO.NET Data Services.
Sono URI validi comprensivi degli elementi schema, radice del servizio e percorso della risorsa:
https://www.contoso.com/myservice.svc/Customershttps://www.contoso.com/Customers(123)https://www.contoso.com/Customers(123)/Ordershttps://www.contoso.com/Customers(123)/$links/Ordershttps://www.contoso.com/Products(ID=’ABC’)/Categoryhttps://www.contoso.com/Teams(Conference=’ACC’, League=’NCCC’)/Roster
Per ulteriori informazioni sulla sintassi del percorso delle risorse, vedere Regole e semantica del percorso delle risorse (framework di ADO.NET Data Services).
Opzioni query
La sezione delle opzioni query dell'URI specifica due tipi di informazioni: le opzioni query del sistema e i parametri dell'operazione del servizio. Le opzioni query sono conformi alle regole seguenti:
In una sola stringa di query URI è possibile specificare qualsiasi numero delle opzioni query supportate.
Ogni opzione query può essere presente in una stringa di query indipendente dalla presenza di qualsiasi altra opzione.
L'ordine delle opzioni query all'interno di un URI non è significativo.
I nomi delle opzioni query seguono la distinzione tra maiuscole e minuscole.
I valori delle opzioni query seguono la distinzione tra maiuscole e minuscole.
Una determinata opzione query del sistema può essere presente una sola volta nella stringa di query di un URI di richiesta.
Per ulteriori informazioni sulla semantica di query, vedere Opzioni query di ADO.NET Data Services e Opzioni query del sistema ADO.NET Data Services.
Esempi
Di seguito sono riportati URI esemplificativi della sintassi di ADO.NET Data Services. Ogni URI include la descrizione di come viene analizzato dal servizio.
Tra tutti gli elementi Orders presenti nell'origine dati, restituire solo gli Orders con proprietà ID uguale a 201.
http://host/service.svc/Orders?$filter=ID%20eq%201
Confrontare ogni elemento Customers con il valore della proprietà fullname uguale a 'Jones, David'.
http://host/service.svc/Customers?$filter=
'Jones, David' eq insert(fullname, length(lastname), ',')
L'espressione aritmetica viene analizzata come 1 + (2 * 3), anziché * (1 + 2) 3. L'espressione di filtro è solo un test case che restituisce sempre True, pertanto l'URI rappresenta una richiesta per tutti gli elementi OrderLines.
http://host/service.svc/OrderLines?$filter=1 add 2 mul 3 lt 10
Sintassi astratta
Nelle regole seguenti vengono illustrati gli elementi della sintassi per costruire un URI di ADO.NET Data Service in base alla specifica BNF (Backus-Naur Form) definita nel documento RFC 4234. Un URI di ADO.NET Data Service è costituito da tre sezioni: radice del servizio, percorso della risorsa e opzioni query, che, se composte, formano l'URI utilizzato per indirizzare qualsiasi risorsa in un servizio ADO.NET Data Services.
ADO.NET_DS_URI = "http://" serviceRoot [ resourcePath ["?" queryOptions ] ]
ServiceRoot = host [ ":" port ] [*( "/" segment-nz )]
ResourcePath = "/" EntitySet | serviceOperation [ navPath ]
navPath = ("("keyPredicate")" [ navPath_np / propertyPath / propertyPath_ct ] )
navPath_np = "/" ("$links" / NavigationProperty) /
(NavigationProperty [ navPath ])
EntityPropertyPath = "/" EntityProperty [ "/$value" ]
ComplexTypePropertyPath_ct = 1*("/" ComplexType) [ propertyPath ]
keyPredicate = keyPredicate_single | keyPredicate_cmplx
keyPredicate_single = 1*DIGIT | ("’" 1*unreserved "’") | 1*(HEXDIGHEXDIG)) |
keyPredicate_complex
//NOTE: strings, GUIDs and dates are quoted
keyPredicate_cmplx = resourceProp "=" keyPredicate [“,” keyPredicate_cmplx]
queryOptions = sysQueryOperation / serviceOpParamName
*("&" sysQueryOperation / serviceOpParam)
DIGIT = as defined in RFC 3986 (0-9)
Host = as defined in RFC 3986
Port = as defined in RFC 3986
segment-nz = as defined in RFC 3986 (A non empty sequence of chars outside set of URI reserved characters.)
pchar = as defined in RFC 3986 (A non empty sequence of chars outside set of URI reserved characters.)
serviceOperation = the name of a service operation.
EntitySet = the name of an EntitySet. Allowed characters match the set of allowed characters for EntitySet names in the EDM specification.
EntityType = The name of an EntityType within the EntitySet referenced in the prior path segment. Allowed characters match the set of allowed characters for EntityType names in the EDM specification.
Property = The name of a property on the entity type or complex type in the prior path segment or current path segment if filtering by key. Allowed characters match the set of allowed characters for EntityType property names in the EDM specification.
NavigationProperty = the name of a NavigationProperty or Navigation Link on the EntityType in the prior path segment. If the prior segment is an EntitySet,this property must be on the type within the given set. Allowed characters match the set of allowed characters for NavigationProperty names in the EDM specification.
systemQueryOperation = "$" query "=" query
serviceOperationParam = query "=" query
Per ulteriori informazioni ed esempi sulla sintassi URI, vedere Regole e semantica del percorso delle risorse (framework di ADO.NET Data Services).
Vedere anche
Concetti
Regole e semantica del percorso delle risorse (framework di ADO.NET Data Services)
Opzioni query di ADO.NET Data Services
Opzioni query del sistema ADO.NET Data Services