Som @Ladislav sagde, understøtter EF 5 ikke OFFSET &FETCH. Når det er sagt, ville jeg tilføje lidt perspektiv. Jeg synes ikke, det burde have den store betydning.
Når du køber ind i et ORM-lignende Entity Framework, er du ude og hente din forespørgselsgenerering (af helt gyldige årsager). Om EF bruger den 'ældre' CTE
stilforespørgsel med Row_Number()
eller den nyere Fetch
/ Offset
er en implementeringsdetalje. Microsoft kunne opdatere EF-koden på ethvert tidspunkt og ændre forespørgselsgenereringen til at bruge den ene eller den anden.
Hvis du vil have kontrol over forespørgselsgenereringen, skal du enten:
- Brug EF's 'stored procedure mapping'-funktion
- Brug lagrede procedurer direkte med EF (noget jeg gør ret ofte)
- skriv ADO/SQL selv, eller
- brug en mere begrænset mikro-orm som massive/PetaPoco
Så betyder det noget?
Nå, for en udvikler, der skriver forespørgsler, vil den nye syntaks være en velkommen lettelse. På den anden side er det vises ikke at der er en reel ydeevneforskel mellem den gamle CTE-metode og den nye syntaks. Så fra EF's perspektiv -- ikke rigtig. Vi pådrager os en betydelig overhead ved at bruge EF, vil metoden til personsøgning sandsynligvis ikke være dit brudpunkt.