私は新しいプロジェクトにそれを使用することを大胆にして計画しています。それを読んだ後、私はConcurrentDictionaryしかないかもしれない唯一の問題のようです。Dapperは、実行するすべてのクエリに関する情報をキャッシュします。これにより、オブジェクトを素早くマテリアライズし、パラメータを素早く処理できます。現在の実装は、この情報をConcurrentDictionaryオブジェクトにキャッシュします。格納するオブジェクトは決してフラッシュされません。パラメータを使用せずにSQL文字列を生成する場合、メモリの問題が発生する可能性があります。ディクショナリをLRUキャッシュに変換することがあります。firstNameおよび/またはlastNameがnullかどうかによって異なります。両方がnullの場合、1つのSQL文字列が取得されます。firstNameだけがnullでない場合、別のfirstNameを取得します。lastNameだけがnullでない場合、あなたはまだ別のものを取得します。最後に、両方がヌルでない場合、4番目の順列が得られます。これは「オンザフライ」の意味です.Dapperはこれらのユニークな順列に基づいてキャッシュします。複雑なシナリオを考えれば、非常に多くの異なる順列でどのように終わるのかを簡単に知ることができます。そのうちの1つを独立してキャッシュする必要があります。