Универсальный метод OrderBy для типа «Queryable» не совместим с предоставленными аргументами типа.
Я пишу некоторый код, который изменит выражение так, чтобы подзапрос, содержащийся в нем, был упорядочен.
Я нашел похожий кусок кода здесь на SO:https://stackoverflow.com/a/1379693/509464 Но у меня это не работает.это ответ, но я не могу применить это к моему коду
Универсальный метод OrderBy для типа Queryable не совместим с предоставленными аргументами и аргументами типа. Аргументы типа не должны предоставляться, если метод не является универсальным.
MethodCallExpression orderByCallExpression = Expression.Call(
typeof(Queryable),
"OrderBy"/*Descending*/,
new Type[] { typeof(TSource), filterpart.OrderOverPropertyGetterValueType},
navigationalProperty.Body,
filterpart.OrderOverPropertyGetter);
Я пытаюсь выяснить, какой из 2 параметров типа или 2 других аргументов вызывает эту ошибку.
OrderOverPropertyGetterValueType простоtypeof(DateTime)
в этом случаеTSource - это тип сущности (подарки)navigationalProperty.Body содержит {source.Gifts.AsQueryable()
} с типом выражения:System.Linq.Expressions.MethodCallExpression
filterpart.OrderOverPropertyGetter содержит{g => g.Date}
с типом выраженияSystem.Linq.Expressions.Expression<System.Func<Gift,System.DateTime>>
Я не знаю, как диагностировать, какой из четырех параметров неверен, я думаю, что один из типов выражений может быть неправильным ...