Potrzebuję stworzyć funkcjonalność, która pozwoliłaby użytkownikom filtrować jednostki za pomocą dosłownych zapytań (np. age gt 20 and name eq 'john'
). Czy jest dostępna funkcja do tego celu w C#/Asp.Net MVC, czy też muszę samemu przeanalizować to zapytanie?Jak filtrować podmioty za pomocą zapytań w języku C#?
Odkryłem, że OData sugeruje posiadanie właśnie takiej funkcji (OData Filter Expressions MSDN). Jednak nie jestem zaznajomiony z tym, więc nie wiem, jak wdrożyć takie zachowanie w moim projekcie.
muszę coś takiego:
var list = new List<Person>
{
new Person { Name = "John", Age = 30 },
new Person { Name = "Hanna", Age = 25 },
new Person { Name = "John", Age = 15 }
};
string query = "age gt 20 and name eq /'John/'";
IEnumerable<Person> result = list.FilterByExpression(query);
// returns list with John aged 30
Wszelkie porady będą mile widziane.