0

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は、それが可能であることを示唆していますが、それだけです。

4

1 に答える 1

0

残念ながら、短い答えは「いいえ」です。キャッシングを行う魔法のアダプターはなく、LLBLGen は Context オブジェクトを使用する以外の形式のキャッシングをサポートしていませんが、これらはユーザーに対してローカルです。およびセッションであり、グローバルではありません。

ORM マッパーでのキャッシングに関する Frans Bouma の記事

于 2010-10-21T19:57:20.410 に答える