Hallo zusammen,
ich benutze gerade in einem neuen Projekt die aktuelle EF Version 6.1.2 u bei der Implementierung von PagedList ist mir aufgefallen, dass das Paging nicht sauber funktioniert. Einträge kamen immer wieder vor...
Nun habe ich mir im Debug das generierte SQL angeguckt und in das Management Studio geladen
SELECT
[Extent1].[Id] AS [Id],
[Extent1].[Email] AS [Email],
[Extent1].[EmailConfirmed] AS [EmailConfirmed],
[Extent1].[PasswordHash] AS [PasswordHash],
[Extent1].[SecurityStamp] AS [SecurityStamp],
[Extent1].[PhoneNumber] AS [PhoneNumber],
[Extent1].[PhoneNumberConfirmed] AS [PhoneNumberConfirmed],
[Extent1].[TwoFactorEnabled] AS [TwoFactorEnabled],
[Extent1].[LockoutEndDateUtc] AS [LockoutEndDateUtc],
[Extent1].[LockoutEnabled] AS [LockoutEnabled],
[Extent1].[AccessFailedCount] AS [AccessFailedCount],
[Extent1].[UserName] AS [UserName],
[Extent1].[SalutationId] AS [SalutationId],
[Extent1].[FirstName] AS [FirstName],
[Extent1].[LastName] AS [LastName],
[Extent1].[EmployeeId] AS [EmployeeId]
FROM [dbo].[AspNetUsers] AS [Extent1]
ORDER BY [Extent1].[LastName] DESC
OFFSET 1 ROWS FETCH NEXT 2 ROWS ONLY ;
Nun verändere ich den Offset Wert zb auf 2 und ich erhalte immer noch exakt die gleichen 2 Ergebnisse wie zuvor mit der 1. Das gleiche Spielchen zieht sich bis zum Wert 13, wobei zu erwähnen ist das die TotalRows nur 15 sind.
Den einzigen Workaround den ich gefunden habe ist in der EDMX den Wert 2012 auf 2008 (ProviderManifestToken) abzuändern, aber das kann nicht wirklich die Lösung sein. Zumindestens hätte die SQL Anweisung meiner Meinung nach im Management Studio funktionieren müssen.
Danke