Итак, в очень простом тесте все работает, но в моем случае я динамически генерирую вызовы OrderBy
и ThenBy
во время выполнения, поэтому мне нужно вызывать OrderBy
или ThenBy
в зависимости от если IQueryable
на самом деле IOrderedQueryable
.
Странно, если перед заказом что-то наподобие queryable.Where(o1 => o1.Object2List.Any(o2.Name.Contains("bla")))
, var ordered = queryable as IOrderedQueryable<TModel>;
не равно нулю, но вызов ThenBy
завершается неудачно. Я исправил проблему, заказав перед фильтрацией.