I found that if I created a new Dictionary using the StringComparer.OrdinalIgnoreCase and then set the Parameters property for the expression to this dictionary it was case insensitive for the Parameters.

My next problem is how to make the operators case insensitive too, so we could use "OR" or "or" at the moment it is still case sensitive.