EFクエリの結果をAzureAppFabricキャッシュにキャッシュする方法を理解しようとしています。現在、キャッシュを処理するためにLoreSoft EntityFramework拡張機能を使用しています(http://bit.ly/LWSywm)。インメモリキャッシュでは完全に機能しますが、複数のVMにまたがるAppFabricではそれほど機能しません。問題は、EFオブジェクトに仮想プロパティがあり、それらが動的プロキシオブジェクトとしてシリアル化されていることです。もちろん、別のVMで、または単一のVMでアプリケーションを再起動した後でも逆シリアル化することはできません。
キャッシュする必要のあるクエリはわずかしかないため、プロジェクト全体で関連するすべてのオブジェクトを手動でロードするのではありません。仮想プロパティを使用してEFオブジェクトをシリアル化する方法はありますか?逆シリアル化した後、仮想プロパティを魔法のように遅延読み込みを再開する必要はありません。結果をシリアル化する前に、DbContextの遅延読み込みをオフにしようとしましたが、機能しません。シリアル化可能なEFオブジェクトを取得する唯一の方法は、すべての仮想プロパティを削除することです。
ちなみに私はここでジュリーラーマンの記事を見てきました:http://bit.ly/LWToZT
かっこいいプロジェクトのようですが、EFオブジェクトをシリアル化できないという私の問題が解決するかどうかは完全にはわかりません。私が始めたところにたどり着くつもりなら、その道を下りたくない。
どんなアイデアでも大歓迎です!