ストアドプロシージャ(MSSQL)を使用する場合のDapperのキャッシュソリューション

asp.net-mvc-3 c#-4.0 dapper sql-server-2008

質問

私はDapperをデータベースMSSQL 2008 R2の ストアドプロシージャを呼び出すために主に使用しています。データベーステーブルにマップするクラスはありません。ほとんどのデータはIEnumerable <Dynamic>で終わり、画面上のグリッドに送信されます。

私は使用できるデータバッファリングのためのすぐに使えるソリューションがありますか? (私はMVCでそれを使用する必要があります)。

データベースのデータは本質的に静的で動的です。リポジトリモデルを使用してデータにアクセスします。

エキスパート回答

Dapperには、内蔵のデータキャッシング機能は含まれていません(メタプログラミング層では内部的に大量のキャッシングを使用していますが).ADO.NETの機能を十分に発揮しますが、既製のキャッシングはほとんど使用できますHTTPランタイムキャッシュ( HttpContext.Current.Cache )や新しいObjectCacheなどのコンポーネントを含むコンポーネントです。これらはオブジェクトを取るだけなので、うまくいくはずです。

分散キャッシュ(多分app-fabric、redis、またはmemcached経由)を使用している場合は、データをシリアライズ可能にする必要があります。このシナリオでは、 dynamic APIではなく、バインディングに正式なPOCOタイプを使用することを強くお勧めします。一例として、社内では、直列化のためにprotobuf-netマーカーで注釈付けされ、BookSleeveを介してredisに格納されるPOCOを実装するためにdapperを使用します。それは実際よりも複雑に聞こえる。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow