Dapper ORM et extension de recherche et de tri

dapper

Question

J'utilise Dapper pour une DAL générique qui peut être utilisée pour Oracle et SQL Server. Quel serait le meilleur moyen de fournir des méthodes de pagination et de tri pour qu'il fonctionne à la fois pour SQL et Oracle sans créer / modifier manuellement les statuts SQL? Quelque chose comme:

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

Réponse acceptée

Comme @Alex l'a fait remarquer, la pagination est effectuée différemment sur les deux bases de données de votre choix. Il est donc préférable de rédiger des requêtes distinctes pour chacune des requêtes optimisées.

Il serait probablement préférable de créer deux assemblages de fournisseurs de données, chacun desservant chaque base de données:

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

Et ensuite configurez votre application pour l'un des deux. J'ai aussi délibérément créé Data.Provider espace de noms Data.Provider (qui peut faire partie d'un assemblage de données et définir toutes les interfaces de fournisseur de données (dans Data.Provider ) que les deux principaux fournisseurs implémentent.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi