У меня есть (что я думаю, это формат odata) URL вроде этого:
http://localhost:2282/SSE.Web/History.cshtml?GetData=true&itemId=AKE-00129&pid=1&%24filter=indexof(ItemType%2C%27Attri%27)+ge+0&%24skip=0&%24top=50&%24inlinecount=allpages&_=1325589443808
здесь интересен параметр $ filter.Он имеет формат "indexof (ItemType, 'Attri') ge 0"
Источником является сетка (iggrid из Infragistics), которая фильтрует столбец ItemType с текстом 'Attri'
Мой вопрос: отображение параметров top и skip было тривиальным, но как сделать фильтр.Нужно ли мне анализировать его и создавать свой собственный linq, или есть какие-то другие способы?
У меня есть такой код:
var skip = int.Parse(Request["$Skip"]);
var top = int.Parse(Request["$top"]);
var filter = Request(["$filter"]);
var db = Database.Open("SSEConnectionString");
var entries = db.Query("select * from eHistory order by timestamp desc")
Json.Write(new { results = entries.Where(????).Skip(skip).Take(top), totalRecCount = entries.Count() }, Response.Output);
Спасибо за любую помощь!
Ларси