Breve risposta è no, non è supportato in EF5, ma la versione 6.1.2 di Entity Framework è stato appena rilasciato, come noted on the ADO.NET blog. Una delle nuove funzionalità in 6.1.2 è il supporto per la sintassi di impaginazione OFFSET..FETCH SQL Server 2012+.
Quando si acquista in un ORM come Entity Framework, si ottiene la generazione della query (per motivi perfettamente validi). Se EF usa la query di stile CTE "vecchio" con Row_Number() o il nuovo Fetch/Offset è un dettaglio di implementazione. Microsoft potrebbe aggiornare il codice EF in qualsiasi momento e modificare la generazione della query per utilizzare l'una o l'altra. Reference
Se si desidera che il controllo sulla generazione di query, è uno:
Usa EF 'stored procedure di mappatura' capacità di utilizzare le stored procedure direttamente con EF (cosa che faccio molto spesso) scrivere l'ADO/SQL o usa un micro-orm più limitato come massiccio/PetaPoco So importa?
Bene, per una query di scrittura da parte dello sviluppatore la nuova sintassi sarà un sollievo di benvenuto . D'altra parte, non sembra che ci sia una differenza di prestazioni reale tra il vecchio metodo CTE e la nuova sintassi . Quindi dal punto di vista di EF - non proprio. Abbiamo un significativo overhead con EF, il metodo di paging probabilmente non sarà il tuo punto di rottura . Refrance
fonte
2015-05-20 05:56:08
Non ancora supportato in EntityFramework (incluso 6). – user2674389
Puoi votare per quella funzione qui: https://entityframework.codeplex.com/workitem/961 – ErikEJ
In realtà, come vedo, la funzionalità è già stata assegnata al controllo sorgente EF https://entityframework.codeplex.com/SourceControl/network/ forchette/BrandonDahler/EntityFramework/contribution/6237 –