Динамическое создание Expression для типа DateTime

Есть класс Orders:

class Orders
{
   public DateTime StartDate  { get; set; }
}

Есть также выражение:

...<Orders>(o => o.StartDate < DateTime.Now.Date)

т.е. отбираются заявки, у которых StartDate < текущей даты

Я создаю динамическое выражение, которое заменяет лямбду (o => o.StartDate < DateTime.Now.Date):

Type tType = typeof(T); //typeof(Orders)
ParameterExpression parameterExpression = Expression.Parameter(tType, tType.FullName);
MemberExpression property = Expression.Property(parameterExpression, "StartDate");

ConstantExpression constant = Expression.Constant(DateTime.Now.Date);

Expression expression = Expression.LessThanOrEqual(property, constant);

и так далее

главное, что property здесь указывает на свойство StartDate класса Orders.

Но если лямбду заменить на такую:

...<Orders>(o => o.StartDate.Date < DateTime.Now.Date)

т.е. из даты-времени свойства StartDate берется только составляющая даты.

Как реализовать это при создании динамического выражения?

Тут человек задавал аналогичный вопрос, который, к сожалению, остался без ответа.


Ответы (0 шт):