【发布时间】:2018-03-14 23:29:07
【问题描述】:
我需要创建允许用户使用文字查询过滤实体的功能(即age gt 20 and name eq 'john')。在 C#/Asp.Net MVC 中是否提供了执行此操作的功能,还是我必须自己解析此查询?
我发现 OData 意味着具有完全这样的功能 (OData Filter Expressions MSDN)。但是,我不熟悉它,所以我不知道如何在我的项目中实现这种行为。
我需要这样的东西:
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
任何建议将不胜感激。
【问题讨论】:
标签: c# .net asp.net-mvc odata filtering