LinqToQuerystring的webapi包中有一个属性(LinqToQueryable),但我无法找到它的工作原理。
答案 0 :(得分:0)
事实证明,属性[LinqToQueryable]过滤/ orders / ...返回时的可查询结果。
要在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的优点是您可以轻松地耦合验证器。