linq to sql で実装されたプロジェクトがあり、アダプター パターンを使用して LLBLGenPro ランタイムに移行されています。
アプリの最初のバージョンは大量のキャッシュを実行し、テーブル全体を httpcache に配置してから、コード ビハインドですべてのリンクを実行しました。(はぁ)
したがって、次のようなものが得られます。
from p in MyCacheObject.ProductPages
join cmpp in MyCacheObject.ProductContentMemberships on p.ProductPageId equals cmpp.ProductContentId
join pl in MyCacheObject.ProductPlans on cmpp.ProductLinkId equals pl.ProductPlanId
これで、新しいリポジトリ パターンで、プリフェッチ パスを使用してそのような結合を構築できます。myRepository.GetProductPagesWithContentMemberships() を呼び出して、ProductContentMemberships のコレクションを持つ ProductPage エンティティを取得するだけです。
データベースと話しているときはそれは素晴らしいことですが、キャッシュされたエンティティのコレクションから取得するにはどうすればよいでしょうか? テーブルをキャッシュしてから、それらを使用して複雑なオブジェクトを構築したいと考えています。
「キャッシュから取得」と「db から取得」のどちらをレポが下すかを決めることはできますが、GetProductPagesWithContentMemberships() の 2 つのまったく異なる実装 (db から取得するものと 1 つ) を記述する必要がないことを願っています。キャッシュを使用します。
SQLサーバーに送信するのではなく、オブジェクトキャッシュに対してlinqを実行する、使用できる魔法のアダプターがあることを願っています。そのようなことはありますか?
この投稿: http://www.llblgen.com/tinyforum/Messages.aspx?ThreadID=6265は、それが可能であることを示唆していますが、それだけです。