I would like to extend and to an existing expression by adding to it. So logically I want 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")
I have IQueryable instance with a defined where Expression already, something like:
{AuditJournalEntity[].Where(o => (((o.AuditDateTime > 10/04/2018 00:00:00) AndAlso (o.AuditDateTime < 18/04/2018 00:00:00))))}
So I can grab the actual where expression it self using Arguments array (Arguments[1]):
{o => (((o.AuditDateTime > 10/04/2018 00:00:00) AndAlso (o.AuditDateTime < 18/04/2018 00:00:00)))}
However, I don't know how to grab the expression body part of the UnaryExpression so that I can add to it later on. What I want is this part:
(((o.AuditDateTime > 10/04/2018 00:00:00) AndAlso (o.AuditDateTime < 18/04/2018 00:00:00)))
If in debug, it is able to give this part using something UnaryExpressionProxy instance but it's a private member I think so can't really use that. Let me know if you need more info.