У меня есть следующий код:LINQ к объектам игнорирует мое OrderBy заявление
var myCats = _context.Cats.Where(c => c.OwnerId == 1).OrderBy(c => c.Age);
var uniqueCatIds = myCats.Select(c => c.CatId).Distinct();
По какой-то причине, оговорка OrderBy
игнорируется, когда я исследую выход SQL с помощью профилировщика. То, что я хочу сделать, это выбрать все уникальные идентификаторы cat в том же порядке, что и в myCats, и сохранить характер запроса IQueryable.
Если я положил .ToList()
после OrderBy, заказ появится в SQL, и он будет работать. Однако с таким количеством кошек это очень медленно.
Любые идеи, почему это происходит?