假设我有类似的东西
Expression<Func<SomeType, DateTime>> left = x => x.SomeDateProperty;
Expression<Func<SomeType, DateTime>> right = x => dateTimeConstant;
var binaryExpression = Expression.GreaterThan(left, right);
Expression<Func<SomeType, bool>> predicate =
x => x.SomeDateProperty> dateTimeConstant;
1)如何用使用 the 的东西替换最后一行赋值的右手binaryExpression
?var predicate = x => binaryExpression;
不起作用。
2) 的right
总是一个常数,不一定是 DateTime.Now。会不会是更简单的Expression
类型?例如,它不依赖于 SomeType,它只是一个常量。
3)如果我有GreaterThan
as a string
,有没有办法从这个字符串到同名的方法Expression
?一般来说,如果比较方法的名称是 a string
,我怎么能从字符串到实际调用同名的方法呢?Expression
类上具有相同名称的方法?
如果重要,它必须与 LINQ to Entities 一起使用。