DataServiceQuery<TElement>.AddQueryOption(String, Object) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.