I want to build the expression: x => x.Date >= SomeDate
But it the following code, all i can get is x => ( x.Date >= SomeDate )
, which does not work at all, because of the parentheses I guess.
Expression<Func<T, DateTime>> expression = x => x.Date;
var date= new DateTime(2013, 8, 22);
ParameterExpression param = Expression.Parameter(typeof(T), "x");
Expression lambda = Expression.Lambda<Func<T, bool>>(
Expression.GreaterThanOrEqual(expression.Body,
Expression.Constant(date, typeof(DateTime))), param);
var valueExpression = lambda as Expression<Func<T, bool>>;