Have you tried using Expression.Convert? That will add the boxing/lifting/etc conversion.
Expression conversion = Expression.Convert(expression, typeof(object));
func = Expression.Lambda<Func<T, Object>>(conversion, parameterExpression).Compile();
Have you tried using Expression.Convert? That will add the boxing/lifting/etc conversion.
Expression conversion = Expression.Convert(expression, typeof(object));
func = Expression.Lambda<Func<T, Object>>(conversion, parameterExpression).Compile();