Tôi có đoạn mã sau:LINQ cho các đối tượng được bỏ qua tuyên bố orderby tôi
var myCats = _context.Cats.Where(c => c.OwnerId == 1).OrderBy(c => c.Age);
var uniqueCatIds = myCats.Select(c => c.CatId).Distinct();
Đối với một số lý do, mệnh đề OrderBy
bị bỏ qua khi tôi kiểm tra SQL đầu ra bằng cách sử dụng hồ sơ. Những gì tôi muốn làm là chọn tất cả các Id mèo duy nhất theo thứ tự giống như chúng xuất hiện trong myCats và giữ nguyên bản chất IQueryable của yêu cầu.
Nếu tôi đặt .ToList()
sau OrderBy, thứ tự xuất hiện trong SQL và nó hoạt động. Tuy nhiên với rất nhiều mèo, nó rất chậm để làm điều này.
Mọi ý tưởng tại sao điều này xảy ra?