[英]How to create query expression for Odata for get by Id
我創建了一個OData服務,現在嘗試在客戶端使用此服務。 我想為c#查詢表達式中的以下網址創建一個表達式-
http://odata.org/Product-Service/Product(150)
上面的URL在瀏覽器中工作正常,但是我想在C#中為上面的URL創建查詢表達式。 任何幫助將是非常可觀的。
您可以在System.Data.Services.Client
使用DataServiceContext
+ DataServiceQuery
來訪問Url。 請記住,由於延遲加載,在調用First()之前不會執行任何查詢。
var context = new DataServiceContext(new Uri("http://odata.org/Product-Service"), DataServiceProtocolVersion.V3);
var query = context.CreateQuery<Product>("Product");
Product product = query.Where(p => p.Id == 150).First();
以上內容應解析為http://odata.org/Product-Service/Product(150) ,您可以通過查看query.Entities
集合進行檢查。 集合中的每個實體都將包含一個Uri。
同樣,如果您的Product類包含導航屬性,則需要添加擴展查詢選項,從而:
var query = context.CreateQuery<Product>("Product").
AddQueryOption("$expand", "NavigationProperty");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.