EF4.xまたはEF5でSQLServiceBrokerを使用できるかどうかを知りたいのですが。
シナリオ:たとえば、製品のリストがあります。顧客がページにアクセスするたびにdbからリストをロードしたくありません。確かにページをキャッシュすることはできますが、プロダクトマネージャーが新しい商品を追加した場合、キャッシュの有効期限が切れるまで、またはクエリパラメータが変更されるまで、すぐには表示されません。
解決策:SQLではEnable_Brokerを使用でき、WebアプリではSqlDependencyのリンクを開始できます。SQLはWebアプリに通知を送信します。したがって、スマートな「キャッシング」システムがあります。そのスマートキャッシュを使用できれば、すべて意味があります。1,000人の顧客がそのページをクリックしている場合、SQLデータベースに1,000回アクセスする必要はありません。ただし、dbに変更があると、その時点でそのページにアクセスした最初の顧客に反映が表示されます。私たちは両方の世界の長所を手に入れます。
問題:EntityFrameworkはこの機能を公開していません。または私はそれを認識していませんか?SQL 2005およびASP.NET2.0以降、この機能はすでに使用されています。EF 4/5はその重要な機能を見逃すことはできませんよね?この質問を手伝ってくれる専門家が必要です。
私はたまたまこのリンクからハックを見つけました:
http://www.codeproject.com/Articles/233770/AutoRefresh-Entity-Framework-data-using-SQL-Server
ただし、これは多かれ少なかれ「文書化されていない魔法」の方法であり、いくつかの未知の制限があります(そのページからの制限リンクが削除されたため、それらが何であるかはわかりません)。そのため、使用するのに十分な信頼性がなく、新しいEFパッチの後で突然機能しなくなっても驚かないでしょう。それを行うためのより「公式な」方法はありますか?ありがとう!