Сопоставление $filter из параметра oData с linq ГдеC#

Место общения программистов C#
Anonymous
Сопоставление $filter из параметра oData с linq Где

Сообщение Anonymous »

У меня есть URL-адрес (кажется, в формате odata):

Код: Выделить всё

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».

Мой вопрос: сопоставление параметров верхнего и пропуска было тривиальным, но как сделать фильтр. Нужно ли мне анализировать его и создавать свой собственный 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);
Спасибо за любую помощь!

Ларси

Подробнее здесь: https://stackoverflow.com/questions/871 ... linq-where

Вернуться в «C#»