Ningún método genérico 'OrderBy' en el tipo 'Queryable' es compatible con los argumentos de tipo proporcionados

Estoy escribiendo un código que modificará una expresión para que la subconsulta contenida en ella se ordene.

Encontré una pieza de código similar aquí en SO:https://stackoverflow.com/a/1379693/509464 Pero no me funciona. También traté de mirar.esta Responda, pero no puedo aplicar esto a mi código

Ningún método genérico 'OrderBy' en el tipo 'Queryable' es compatible con los argumentos de tipo suministrados y los argumentos. No se deben proporcionar argumentos de tipo si el método no es genérico.

          MethodCallExpression orderByCallExpression = Expression.Call(
                    typeof(Queryable),
                    "OrderBy"/*Descending*/,
                    new Type[] { typeof(TSource), filterpart.OrderOverPropertyGetterValueType},
                    navigationalProperty.Body,
                    filterpart.OrderOverPropertyGetter);                            

Estoy tratando de averiguar cuál de los 2 parámetros de tipo u otros 2 argumentos están causando este error.

OrderOverPropertyGetterValueType es solotypeof(DateTime) en este casoFuente es un tipo de entidad (regalos)navigationalProperty.Body contiene {source.Gifts.AsQueryable()} con tipo de expresión:System.Linq.Expressions.MethodCallExpressionfilterpart.OrderOverPropertyGetter contiene{g => g.Date} con tipo de expresiónSystem.Linq.Expressions.Expression<System.Func<Gift,System.DateTime>>

No tengo ni idea de cómo diagnosticar cuál de los cuatro parámetros es incorrecto, creo que uno de los tipos de expresión puede ser incorrecto ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta