0

Entity Framework(モデルファースト)を使用して、いくつかのテーブル間で1秒未満の高速結合を実行したいと思います。簡略化されたデータモデルは次のようになります。

ビデオID(主キー); 名前

タグID(主キー); 名前

TaggedVideosTagID(FK); VideoID(FK)

テーブルがEntityFrameworkでモデル化または公開されていない場合に、TaggedVideosをプリロードする方法はありますか?特定のタグが付いたすべての動画を検索するときに、データベースのヒットを回避しようとしています。理想的には、3つのテーブルすべてがコレクションにロードされ、PLINQを使用して参加できます。

TaggedVideosに別の列を追加すると、これを実現できますが、データモデルを乱雑にしないエレガントなソリューションをお勧めします。

どんな助けでもいただければ幸いです。

4

1 に答える 1

0

タグをキャッシュし、動画のコレクションに対して後方ナビゲーションプロパティがあることを確認します。

その後、キャッシュされたバージョンのタグにアクセスし、参加せずに関連する動画を検索できます。

ビデオ全体をキャッシュしたくない場合は、キャッシュコードでVideos.Select(v => v.Id)のようなものを使用して、IDのみを選択し、それをキャッシュします。

于 2012-06-21T23:54:37.763 に答える