DataServiceQuery<TElement>.AddQueryOption(String, Object) 方法    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建新的 DataServiceQuery<TElement>,并在由返回的查询生成的 URI 中设置查询选项。
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)参数
- name
- String
字符串值,其中包含要添加的查询字符串选项的名称。
- value
- Object
对象,其中包含查询字符串选项的值。
返回
一个新查询,其中包含追加到所提供查询的 URI 的请求查询选项。
示例
下面的示例演示与顺序 DataServiceQuery<TElement> 方法调用一起使用的 AddQueryOption,用于仅返回运费成本超过 30 美元的订单,并根据发货日期按降序顺序对这些结果进行排序。
// 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
下面的示例演示如何撰写等效于上述查询(使用了 AddQueryOption)的 LINQ 查询。
// 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
注解
使用 ... 将查询选项添加到生成的 URI ?name=value&name2=value2中。 语法,其中名称直接映射到 name 参数, value 并通过对 参数调用 ToString value 来获取 。 
              name 以 $ 开头。
非WCF Data Services语法不以 $开头。 可以使用此方法添加非WCF Data Services查询选项。 如果同一查询选项不是WCF Data Services查询选项,则添加同一查询选项两次是合法的。 如果添加基础 URI 中已存在的查询选项,则将引发异常。