我有一个界面,该用户指示它们之间的一些元素和运算符,我应该显示结果。
用户可以构建一个过滤器,比如p1 OP v1 OR p2 OP v2
wherep1
和p2
arePerson
属性Age, Name, Location
等,v1
并且v2
是比较值(10、'Maria'、'LA'),OP 是比较运算符(=、<、>),OR 是逻辑运算符(可以也是AND)。
例如:
Age > 18 AND Location = 'Paris'
,或另一个类似
Name Contains 'andro' AND Sex = 'm'
有了myPeople
集合和这个过滤器字符串,我如何使用 Linq.Expressions 构建和应用这个表达式?
我尝试使用DynamicLinq,但实际上我在使用 "Where" on 时遇到了问题List<Person>
,显然不是IQueryable
......