Dapper ORM и пейджинг и сортировка - PullRequest
3 голосов
/ 03 апреля 2012

Я использую Dapper для универсального DAL, который можно использовать как для Oracle, так и для сервера SQL. Как лучше всего обеспечить методы подкачки и сортировки, чтобы они работали как для SQL, так и для Oracle, не создавая / изменяя статистику SQL вручную? Что-то вроде:

var users= Dapper
           .Query<User>(sqlStatment
                        .Skip(10)
                        .Take(10)); // where sqlStatment string

1 Ответ

0 голосов
/ 03 апреля 2012

Как отметил @Alex, разбиение на страницы выполняется по-разному в двух выбранных вами базах данных, поэтому лучше всего иметь наиболее оптимизированные запросы для написания отдельных запросов для каждого.

Вероятно, было бы лучше создатьдве сборки поставщика данных, каждая из которых обслуживает каждую базу данных:

  • Data.Provider.Sql
  • Data.Provider.Oracle

А затем настройте приложение дляодин из двух.Я также специально создал пространство имен Data.Provider (которое может быть частью некоторой сборки Data и определяет все интерфейсы поставщиков данных (в пределах Data.Provider), которые реализует верхняя пара поставщиков.

...