Я хотел бы расширить и до существующего выражения, добавив к нему.
Так что логически я хочу exp3:
exp1 = o => (((o.AuditDateTime > 10/04/2018 00:00:00) && (o.AuditDateTime < 18/04/2018 00:00:00)))
exp2 = o => (o.EventType == "X")
exp3 = o => (((o.AuditDateTime > 10/04/2018 00:00:00) && (o.AuditDateTime < 18/04/2018 00:00:00))) && (o.EventType == "X")
У меня есть экземпляр IQueryable с уже определенным выражением Where, что-то вроде:
{AuditJournalEntity[].Where(o => (((o.AuditDateTime > 10/04/2018 00:00:00) AndAlso (o.AuditDateTime < 18/04/2018 00:00:00))))}
Таким образом, я могу получить фактическое выражение where самостоятельно, используя массив Arguments (Arguments [1]):
{o => (((o.AuditDateTime > 10/04/2018 00:00:00) AndAlso (o.AuditDateTime < 18/04/2018 00:00:00)))}
Тем не менее, я не знаю, как получить часть тела выражения UnaryExpression, чтобы добавить ее позже.
То, что я хочу, это часть:
(((o.AuditDateTime > 10/04/2018 00:00:00) AndAlso (o.AuditDateTime < 18/04/2018 00:00:00)))
Если в отладке, он может передать эту часть, используя что-то, например, экземпляр UnaryExpressionProxy, но это закрытый член, так что я не могу его использовать.
Дайте мне знать, если вам нужно больше информации.