繁体   English   中英

OData Linq到查询字符串

[英]OData Linq to Query String

我正在使用带有OData查询支持的Web API(晚安),并且我知道WCF库使您能够查询WCF RIA服务URL,我想要的是一种轻量级的生成Odata查询字符串的方式像LinqPad一样,但更通用。

例如,如果我们知道服务返回特定类型的“ ProductDTO”,则我希望能够执行以下操作:

(from p in ODataSource<ProductDTO>
 where p.Name == "hi"
 select new {p.Model, Name}).ToODataQuery();

它将返回适当的$ filter和$ select命令作为可以附加到URL的字符串。

任何人都知道任何可以做这样的事情的图书馆吗?

另一个可能性是使用Simple.OData.Client作为此处的概述: 该库只能用于生成请求url吗?

我没有使用过它,但是正在研究一个类似的主题,它看起来应该可以提供您正在寻找的功能: https : //bitbucket.org/jjrdk/linq2rest/wiki/Home

这是一篇文章,显示了将其用作oData客户端: http ://blog.petegoo.com/index.php/2012/03/11/creating-a-net-queryable-client-for-asp-net-web- api-odata-services /

基于Wiki(而不是基于linq2rest的任何经验),似乎它是双向的-LINQ表达式查询字符串,查询字符串到LINQ表达式。

您可以尝试以下方法: https : //github.com/ubergeoff/HollowPoint.Azure

ODataSource.Query()
.Where(t => t.Age >= 16 && t.Age < 33)
.ToODataString();   

将输出OData查询文本:

((Age ge 16) and (Age lt 33))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM