Я пытаюсь использовать пейджинг (то есть .Skip(...).Take(...)
в Entity Framework 7. Он работает нормально с Microsoft SQL Server 2012 и 2014, но не работает со следующей ошибкой на SQL Server 2008:
System.Data.SqlClient.SqlException (0x80131904): неправильный синтаксис рядом с «СМЕЩЕНИЕМ». Недопустимое использование параметра NEXT в операторе FETCH.
Я выяснил, что это критическое изменение в EF версии 6.1.2 (http://erikej.blogspot.com/2014/12/a-breaking-change-in-entity-framework.html). Но исправление заключается в изменении атрибута ProviderManifestToken файла EDMX на «2008».
Проблема в том, что EF7 в настоящее время поддерживает только сценарий code-first, поэтому EDMX отсутствует. Возникает вопрос: как настроить веб-сайт ASP.NET 5 с Entity Framework 7 для использования резервного разбиения на страницы для SQL Server старше 2012 года?