У меня есть следующий код:LINQ запрос - Одд Результат - OrderBy
int pageNumber = 0;
int pageCount = 10;
int numberOfRecords = 10;
var query = V_ers_notice.Skip(pageNumber * pageCount).Take(numberOfRecords);
return query.OrderByDescending(id => id.DOC_DATE).Select(ERSNoticeMap.DataToObject).ToList());
Код ERSNoticeMap выглядит следующим образом:
public class ERSNoticeMap
{
public static readonly Func<V_ers_notice, OGeneralFile> DataToObject = mapper =>
new OGeneralFile
{
Docket = mapper.DOCKET,
DocumentDate = mapper.DOC_DATE,
FiledDate = mapper.FILED_DATE,
FileGuid = mapper.FGUID,
FileName = mapper.FName,
FilePath = mapper.FPathName,
FileSize = mapper.FSize,
FileType = mapper.FType,
Issuance = mapper.ISSUANCE,
Title = mapper.TITLE,
FileId = mapper.FID,
};
}
И мой OGeneralFile выглядит следующим образом (даже если он не имеет никакого отношения к с этой проблемой):
public class OGeneralFile
{
public int FileId { get; set; }
public Guid FileGuid { get; set; }
public string FilePath { get; set; }
public string FileName { get; set; }
public string FileType { get; set; }
public string FileSize { get; set; }
public string Issuance { get; set; }
public DateTime? DocumentDate { get; set; }
public DateTime? FiledDate { get; set; }
public string Docket { get; set; }
public string Title { get; set; }
public string Type { get; set; }
}
Теперь вот странная часть. Когда я запускаю это и смотрю на профилировщик SQL, он не упорядочивает мой запрос должным образом. Я получаю следующее:
SELECT [t1].[fID] AS [FID], [t1].[fGUID] AS [FGUID], [t1].[fPathName] AS [FPathName], [t1].[fName] AS [FName], [t1].[fType] AS [FType], [t1].[fSize] AS [FSize], [t1].[ISSUANCE], [t1].[DOC_DATE], [t1].[FILED_DATE], [t1].[DOCKET], [t1].[TITLE]
FROM (
SELECT TOP (10) [t0].[fID], [t0].[fGUID], [t0].[fPathName], [t0].[fName], [t0].[fType], [t0].[fSize], [t0].[ISSUANCE], [t0].[DOC_DATE], [t0].[FILED_DATE], [t0].[DOCKET], [t0].[TITLE]
FROM [v_ers_notice] AS [t0]
) AS [t1]
ORDER BY [t1].[DOC_DATE] DESC
Порядок должен быть по во внутреннем запросе при выборе топ-10 не на внешней стороне.
Любые мысли, почему это может произойти?
Спасибо,
AH! Я мог бы поклясться, что попробовал эту комбинацию ... Ну, это сработало! Спасибо, что открыли мне глаза. +1 - Принято. – CodeLikeBeaker