Dapper ORMとページングとソート拡張

dapper

質問

OracleとSQLサーバーの両方に使用できる汎用DALにDapperを使用しています。ページングとソートのメソッドを提供してSQLステートメントを手動で作成/変更せずにSQLとOracleの両方で動作させる最良の方法は何ですか?何かのようなもの:

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

受け入れられた回答

@Alexが指摘しているように、ページングは​​2つのデータベースでそれぞれ異なる方法で行われるため、最適化されたクエリを最適にするには、それぞれに個別のクエリを記述するのがベストです。

各データベースに対応する2つのデータプロバイダアセンブリを作成するのが最善でしょう。

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

そして、2つのうちの1つのためにあなたのアプリケーションを設定してください。私は意図的にData.Provider名前空間を作成しました。これは、いくつかのデータアセンブリの一部となり、プロバイダの上位カップルが実装するすべてのデータプロバイダインターフェイス( Data.Provider内)を定義します。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ