私はいくつかのタイプにDapperExtensionsを使用していますが、ほとんどのユースケースで非常にうまく機能します。私は多対多の関係を持っているケースに遭遇しました、そして私は次のようなことをしたいです:-
SELECT id,a,b,c FROM Foo WHERE Foo.id in (SELECT foo_id FROM foo-bar WHERE bar-id=@bar_id)
明らかに、DapperExtensionsは「SELECTid、a、b、c FROM Foo」を処理できますが、後者の部分は処理できません。選択して必要なFooIDのリストを取得し、それをDapper Extensionsに渡すこともできますが、効率は低下します。
プレーンなDapperで実行できない部分は、SELECT列リストを自動的に取得することです。したがって、私が本当に望んでいるのは、次の方法です。-
- DapperExtensionの内部メカニズムからSELECT列リストを取得します
- DapperExtensionの内部メカニズムから基本的な「SELECTid、a、b、cFROMFoo」を取得します
- Hook Dapper ExtensionsカスタムWHERE句を追加できるように、コードを取得します
私はコードを見ましたが、これらのことを行う方法を見つけることができません。誰か助けてもらえますか?現時点では、プレーンなDapperと「SELECT * ...」を使用して回避しましたが、もっと良い方法があると確信しています。