2009-09-27 3 views
1

Я реализую библиотеку DAL, которая является нейтральной базой данных. Есть ли абстракция в ADO.NET (System.Data) для описания разбивки на страницы? И, реализации некоторых поставщиков поставщиков ADO.NET поддерживают такой интерфейс, так что мне не нужно вручную настраивать настраиваемый синтаксис SQL?Есть ли абстрактный интерфейс ADO.NET, который объявляет разбиение на страницы?

+0

Предполагаете, вы хотите сделать пейджинг на datagrid? – Khanzor

+0

Не обязательно, но да. Я уже знаю, как получить биты пользовательского интерфейса для разбивки на страницы. То, что я снимаю, это разбиение на БД (ради производительности). Я также знаю синтаксис T-SQL, синтаксис PL-SQL и т. Д., Но мне интересно, есть ли что-нибудь в ADO.NET, которое абстрагирует объявление разбитого на страницы запроса. –

+0

Почему вы не используете существующий ORM? – jfar

ответ

1

ADO.Net не поддерживает разбивку на страницы. LINQ2SQL имеет, потому что операторы и Take реализованы поставщиком SQL с использованием функций ROW_NUMBER(). Entity Framework поддерживает SKIP и LIMIT в синтаксисе Entity-SQL, а также операторы LINQ для Linq2EF, см. How to: Page Through Query Results (Entity Framework).

Методы LINQ2SQL специфичны для SQL Server, однако методы EF являются «общими», если вы хотите использовать EF вместо старых методов ADO.Net.

1

Пейджинг очень специфичен для платформы, так как он требует, чтобы вы получили правильную «страницу» данных из базы данных.

К сожалению, я не думаю, что для получения этих страниц существует какой-либо SQL-стандарт.

+0

Нет. Я знаю, что для него нет стандарта ANSI SQL, потому что я знаю, что каждый поставщик реализует его по-разному на уровне SQL. Я искал абстрагирование ADO.NET, независимо от того, реализован он или нет. –

 Смежные вопросы

  • Нет связанных вопросов^_^