DataServiceQuery<TElement>.AddQueryOption(String, Object) Metode

Definisi

Membuat baru DataServiceQuery<TElement> dengan opsi kueri yang diatur dalam URI yang dihasilkan oleh kueri yang dikembalikan.

public:
 System::Data::Services::Client::DataServiceQuery<TElement> ^ AddQueryOption(System::String ^ name, System::Object ^ value);
public System.Data.Services.Client.DataServiceQuery<TElement> AddQueryOption (string name, object value);
member this.AddQueryOption : string * obj -> System.Data.Services.Client.DataServiceQuery<'Element>
Public Function AddQueryOption (name As String, value As Object) As DataServiceQuery(Of TElement)

Parameter

name
String

Nilai string yang berisi nama opsi string kueri untuk ditambahkan.

value
Object

Objek yang berisi nilai opsi string kueri.

Mengembalikan

Kueri baru yang menyertakan opsi kueri yang diminta ditambahkan ke URI kueri yang disediakan.

Contoh

Contoh berikut menunjukkan DataServiceQuery<TElement> yang digunakan dengan panggilan metode berurutan AddQueryOption untuk hanya mengembalikan pesanan dengan biaya pengiriman lebih dari $30 dan untuk memesan hasilnya berdasarkan tanggal pengiriman dalam urutan menuram.

// Create the DataServiceContext using the service URI.
NorthwindEntities context = new NorthwindEntities(svcUri);

// Define a query for orders with a Freight value greater than 30
// and that is ordered by the ship date, descending.
DataServiceQuery<Order> selectedOrders = context.Orders
    .AddQueryOption("$filter", "Freight gt 30")
    .AddQueryOption("$orderby", "OrderID desc");

try
{
    // Enumerate over the results of the query.
    foreach (Order order in selectedOrders)
    {
        Console.WriteLine("Order ID: {0} - Ship Date: {1} - Freight: {2}",
            order.OrderID, order.ShippedDate, order.Freight);
    }
}
catch (DataServiceQueryException ex)
{
    throw new ApplicationException(
        "An error occurred during query execution.", ex);
}
' Create the DataServiceContext using the service URI.
Dim context = New NorthwindEntities(svcUri)

' Define a query for orders with a Freight value greater than 30
' and that is ordered by the ship date, descending.
Dim selectedOrders As DataServiceQuery(Of Order) = context.Orders _
.AddQueryOption("$filter", "Freight gt 30") _
.AddQueryOption("$orderby", "OrderID desc")

Try
    ' Enumerate over the results of the query.
    For Each order As Order In selectedOrders
        Console.WriteLine("Order ID: {0} - Ship Date: {1} - Freight: {2}", _
                order.OrderID, order.ShippedDate, order.Freight)
    Next
Catch ex As DataServiceQueryException
    Throw New ApplicationException( _
            "An error occurred during query execution.", ex)
End Try

Contoh berikut menunjukkan cara membuat kueri LINQ yang setara dengan kueri sebelumnya yang menggunakan AddQueryOption.

// Create the DataServiceContext using the service URI.
NorthwindEntities context = new NorthwindEntities(svcUri);

// Define a query for orders with a Freight value greater than 30
// and that is ordered by the ship date, descending.
var selectedOrders = from o in context.Orders
                     where o.Freight > 30
                     orderby o.ShippedDate descending
                     select o;

try
{
    // Enumerate over the results of the query.
    foreach (Order order in selectedOrders)
    {
        Console.WriteLine("Order ID: {0} - Ship Date: {1} - Freight: {2}",
            order.OrderID, order.ShippedDate, order.Freight);
    }
}
catch (DataServiceQueryException ex)
{
    throw new ApplicationException(
        "An error occurred during query execution.", ex);
}
' Create the DataServiceContext using the service URI.
Dim context = New NorthwindEntities(svcUri)

' Define a query for orders with a Freight value greater than 30
' and that is ordered by the ship date, descending.
Dim selectedOrders = From o In context.Orders _
        Where (o.Freight > 30) _
        Order By o.ShippedDate Descending _
        Select o

Try
    ' Enumerate over the results of the query.
    For Each order As Order In selectedOrders
        Console.WriteLine("Order ID: {0} - Ship Date: {1} - Freight: {2}", _
                order.OrderID, order.ShippedDate, order.Freight)
    Next
Catch ex As DataServiceQueryException
    Throw New ApplicationException( _
            "An error occurred during query execution.", ex)
End Try

Keterangan

Opsi kueri ditambahkan ke URI yang dihasilkan menggunakan ?name=value&name2=value2... sintaks di mana nama memetakan langsung ke name parameter dan value diperoleh dengan memanggil ToString pada value parameter . Dimulai name dengan $.

Sintaks Layanan Data Non-WCF tidak dimulai dengan $. Opsi kueri Layanan Data Non-WCF dapat ditambahkan menggunakan metode ini. Adalah legal untuk menambahkan opsi kueri yang sama dua kali jika opsi tersebut bukan opsi kueri Layanan Data WCF. Jika opsi kueri ditambahkan yang sudah ada di URI yang mendasar, pengecualian akan dilemparkan.

Berlaku untuk