式に含まれるサブクエリが順序付けられるように式を変更するコードを書いています。
SOで同様のコードを見つけましたが、うまくいきません。私もこの回答を見てみましたが、これを自分のコードに適用することはできません
型 'Queryable' のジェネリック メソッド 'OrderBy' は、指定された型引数および引数と互換性がありません。メソッドが非ジェネリックの場合は、型引数を指定しないでください。
MethodCallExpression orderByCallExpression = Expression.Call(
typeof(Queryable),
"OrderBy"/*Descending*/,
new Type[] { typeof(TSource), filterpart.OrderOverPropertyGetterValueType },
navigationalProperty.Body,
filterpart.OrderOverPropertyGetter);
2 つの型パラメーターまたは他の 2 つの引数のどちらがこのエラーを引き起こしているのかを突き止めようとしています。
OrderOverPropertyGetterValueType
ちょうどtypeof(DateTime)
この場合ですTSource
はエンティティ タイプです (Gifts
)navigationalProperty.Body
source.Gifts.AsQueryable()
次の式タイプの{ } を含む:System.Linq.Expressions.MethodCallExpression
filterpart.OrderOverPropertyGetter
{g => g.Date}
式タイプを含むSystem.Linq.Expressions.Expression<System.Func<Gift,System.DateTime>>
4 つのパラメーターのどれが間違っているかを診断する方法がわかりません。式のタイプの 1 つが正しくない可能性があると考えています。