我有一個API,返回序列化爲JSON的c#對象。Linq2Rest不適用於嵌套屬性?
我需要在我的API網址上實現某種OData格式解析。 也就是說例如,原來是這樣的: http://api.loc/userprofiles/all/?$orderby=ProfileProperties.Email
我一直在尋找一些或多或少直截了當庫,讓我來分析過濾器/排序依據(OData的)查詢字符串,並在我的數據源應用篩選。我發現Linq2Rest它很簡單格式,其中我可以用它喜歡:
var filtered = allItems.Filter(Request.Params).OfType<Content.UserProfile>();
問題是,我Content.UserProfile有一個嵌套屬性.ProfileProperties,其中包含我感興趣的
屬性因此,例如:
var user = new Content.UserProfile();
user.ProfileProperties.Email = "[email protected]";
user.ProfileProperties.FirstName = "Fukoka";
..等
不幸Linq2Rest無法解析我的查詢和失敗,提示信息 「ProfileProperties.Email不被識別爲一個有效的財產」 ..
我怎樣才能然後對嵌套屬性的項目該過濾器?
非常感謝!它現在似乎在工作。唷:)是最初的URL是我寫的(我正在測試新的東西..)..現在,這一步似乎解決了,我的下一個問題將是 - 我應該如何在客戶端上生成這些URL?你能指導我嗎? :) – Denis
Linq2Rest也有一個客戶端部分。看看這個教程:http://reimers.dk/tutorials/using-linq2rest-as-a-client – jjrdk
謝謝!我找到了這個頁面,但我一直在努力尋找IRestClient的實現;如果我不需要任何客戶端和反序列化,該怎麼辦?我只需要Linq2Rest在Linq表達式中創建適當的查詢字符串(在URL中)(甚至應用於'dummy'屬性 - Provider.Query) – Denis