我正在处理动态 Lambda 表达式查询,而不使用 API。
如果用户将 FieldName 选择为“AddressLine1”,将 Operator 选择为 >= FieldValue 作为“K”,它应该将结果返回为以 K 和 L、M 到 Z 系列开头的所有 AddressLine1 字段值。
这是代码,它适用于整数数据类型:
public static Expression CreateBinaryExpression(Expression argLeft, Expression argRight, operatorType opType) {
switch ((operatorType)opType) {
case operatorType.Greater:
return Expression.GreaterThan(argLeft, argRight);
case operatorType.GreaterEqual:
return Expression.GreaterThanOrEqual(argLeft, argRight);
...
}
}
如何修改代码以使用大于等于运算符的字符串数据类型。我正在为此寻找表达方式。有人有想法吗?