質問: OracleとSQLサーバーの両方に使用できる汎用DALにDapperを使用しています。ページングとソートのメソッドを提供してSQLステートメントを手動で作成/変更せずにSQLとOracleの両方で動作させる最良の方法は何ですか?何かのようなもの: ``` var users= Dapper .Query(sqlStatment .Skip(10) .Take(10)); // where sqlStatment string ```
回答: @Alexが指摘しているように、ページングは2つのデータベースでそれぞれ異なる方法で行われるため、最適化されたクエリを最適にするには、それぞれに個別のクエリを記述するのがベストです。 各データベースに対応する2つのデータプロバイダアセンブリを作成するのが最善でしょう。 * Data.Provider.Sql * Data.Provider.Oracle そして、2つのうちの1つのためにあなたのアプリケーションを設定してください。私は意図的に`Data.Provider`名前空間を作成しました。これは、いくつかの**データ**アセンブリの一部となり、プロバイダの上位カップルが実装するすべてのデータプロバイダインターフェイス( `Data.Provider`内)を定義します。