簡體   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