LinqToQuerystring属性的原因:LinqToQueryable

问题描述:

LinqToQuerystring的webapi包中有一个属性(LinqToQueryable),但我无法找到一个很好的解释它是如何工作的。LinqToQuerystring属性的原因:LinqToQueryable

  • 它修改返回结果吗?
  • 它是否启用LinqToQuerystring? (但是如何获得querystring呢?)
  • 其他?

事实证明,属性[LinqToQueryable]在返回时过滤/命令/ ... Queryable结果。

要获得webapi2我创建了一个扩展方法查询字符串:

public static class RequestExtensions 
{ 
    public static string GetQueryString(this HttpRequestMessage request) 
    { 
     return request.GetQueryNameValuePairs().Select(x => x.Key + "=" + x.Value).Aggregate((i, j) => i + "&" + j); 
    } 
} 

但我怀疑这可能也与ODataRequestOptions为参数为(的WebAPI)方法,而不是使用查询字符串来完成。唯一的问题是我不知道如何将其转换为字符串。 这个ODataRequestOption的优点是你可以很容易地耦合验证器。

+0

你也可以使用Request.RequestUri.Query。 – howcheng