Sdílet prostřednictvím


Abfrageoptionen von ADO.NET Data Services

Das in URI-Format für Adressressourcen (ADO.NET Data Services-Framework) beschriebene Abfrageoptionssegment des URI legt zwei Arten von Informationen fest:

  1. ADO.NET Data Services-Systemabfrageoptionen.

  2. Parameter von Dienstvorgängen (ADO.NET Data Services-Framework).

Sowohl Abfrageoptionen als auch Dienstvorgangsparameter müssen folgenden Regeln entsprechen:

  • In einer URI-Abfragezeichenfolge kann eine beliebige Anzahl der unterstützten Abfrageoptionen festgelegt werden.

  • Jede Abfrageoption kann in einer Abfragezeichenfolge enthalten sein, unabhängig davon, ob die Zeichenfolge bereits andere Optionen enthält.

  • Die Reihenfolge der Abfrageoptionen in einem URI spielt keine Rolle.

  • In Abfrageoptionsnamen wird die Groß-/Kleinschreibung berücksichtigt.

  • In Abfrageoptionswerten wird die Groß-/Kleinschreibung berücksichtigt.

  • In einer Abfragezeichenfolge eines Anforderungs-URI darf eine bestimmte Systemabfrageoption nur einmal enthalten sein.

Syntax

Im folgenden Abschnitt werden Regeln für Syntaxelemente für das Erstellen eines ADO.NET Data Services-URI definiert, die der Definition der verstärkten Backus-Naur-Form-Spezifikation in RFC 4234 entsprechen. ADO.NET Data Services-URIs bestehen aus drei Abschnitten: Dienststamm, Ressourcenpfad und Abfrageoptionen. Zusammen bilden diese Abschnitte den URI, mit dem alle Ressourcen adressiert werden können.

ADO.NET_DataService_URI = "http://" serviceRoot [ resourcePath ["?" queryOptions ] ]

serviceRoot = host [ ":" port ] [*( "/" segment-nz )]

resourcePath = "/" resourceSet | serviceOperation [ navPath ] 

navPath = ("("keyPredicate")" [ navPath_np / propertyPath / propertyPath_ct ] )

navPath_np = "/" resourceNavigationProperty [ navPath ]

propertyPath = "/" resourceProperty [ "/$value" ] 

propertyPath_ct = 1*("/" resourceComplexType) [ propertyPath ]

keyPredicate = 1*DIGIT / ("’" 1*unreserved "’") / 1*(HEXDIG HEXDIG) ["," keyPredicate]
 //NOTE: strings, GUIDs, and dates are enclosed in quotation marks.

queryOptions = sysQueryOperation / serviceOpParamName *(“&” sysQueryOperation / serviceOpParam)

Für die vorherigen Definitionen wurden Begriffe aus RFC 3986 verwendet:

  • DIGIT = wie in RFC 3986 (0 - 9) definiert

  • host = wie in RFC 3986 definiert

  • port = wie in RFC 3986 definiert

  • segment-nz = wie in RFC 3986 definiert (nichtleere Sequenz von Zeichen, die nicht zum Satz von für URI reservierte Zeichen gehören)

  • pchar = wie in RFC 3986 definiert (nichtleere Sequenz von Zeichen, die nicht zum Satz von für URI reservierte Zeichen gehören)

Im Folgenden finden Sie die semantische Bedeutung und den Bereich der einzelnen Regeln:

  • Service operation: Der Name eines Dienstvorgangs. Informationen hierzu finden Sie unter Parameter von Dienstvorgängen (ADO.NET Data Services-Framework).

  • resourceSet: Der Name eines Ressourcensatzes. Die zulässigen Zeichen entsprechen den zulässigen Zeichen für EntitySet-Namen in der Entity Data Model (EDM)-Spezifikation.

  • Resource type: Der Name eines Ressourcentyps im Ressourcensatz, auf den im vorherigen Pfadsegment verwiesen wird. Die zulässigen Zeichen entsprechen den zulässigen Zeichen für EntityType-Namen in der Entity Data Model (EDM)-Spezifikation.

  • Resource property: Der Name einer Ressourceneigenschaft für den Ressourcentyp oder den komplexen Ressourcentyp im Pfadsegment. Die zulässigen Zeichen entsprechen den zulässigen Zeichen für EntityType-Eigenschaftennamen in der Entity Data Model (EDM)-Spezifikation.

  • Resource navigation property: Der Name einer Ressourcennavigationseigenschaft oder Ressourcennavigationslink für den Ressourcentyp im unmittelbar vorangehenden Pfadsegment. Wenn es sich beim vorangehenden Segment um einen Ressourcensatz handelt, muss diese Eigenschaft für den Typ im angegebenen Ressourcensatz gelten. Weitere Informationen zu Navigations- und Verknüpfungseigenschaften finden Sie unter Ressourcenpfadregeln und -semantik (ADO.NET Data Services-Framework). Die zulässigen Zeichen entsprechen den zulässigen Zeichen für Navigationseigenschaftennamen in der Entity Data Model (EDM)-Spezifikation.

  • System query operation= "$" query "=" query Diese Art von Syntax beginnt mit $ und folgt im URI auf ?. Weitere Informationen finden Sie unter ADO.NET Data Services-Systemabfrageoptionen.

  • Service Operation Parameter= query "=" query Bei diesen Abfragen handelt es sich um Parameter für Dienstvorgänge. Abfragen können als Eingabe für einen Dienstvorgang verwendet werden, wobei es sich bei den Ergebnissen der Abfragen um Parameter der Funktion handelt. Weitere Informationen finden Sie unter Parameter von Dienstvorgängen (ADO.NET Data Services-Framework).

In der folgenden Syntax finden Sie die unterschiedlichen Teile eines URI für einen ADO.NET-Datendienst.

http://www.example.com:88/path/service.root.svc/Customers(‘ALFKI’)/Orders?$skip=2&$take=2

Zu den Teilen des URI gehören:

Dienststamm: www.example.com:88/path/service.root.svc

Host: www.example.com

Port: 88

Ressourcenpfad: /Customers(‘ALFKI’)/Orders

Ressourcensatz: Customers

Navigationspfad: (‘ALFKI’)/Orders

Schlüsselprädikat: ‘ALFKI’

Navigationseigenschaft des Navigationspfads: Orders

Abfrageoptionen: $skip=2&$top=2

Siehe auch

Konzepte

Ressourcenpfadregeln und -semantik (ADO.NET Data Services-Framework)
ADO.NET Data Services-Systemabfrageoptionen
Parameter von Dienstvorgängen (ADO.NET Data Services-Framework)