データベース内の 2 つのテーブル間に多対多の関係があるため、edmx モデルには 2 つのテーブルしかなく、中間テーブルはありません。このテーブルは映画とジャンルです。
いくつかの映画を検索すると、関連するエンティティも取得されるため、イーガー ロードを使用してエンティティ映画のコレクション Genres を設定します。私が欲しいものです。
問題は、結果に複数の映画がある場合、エンティティ MOvies のコレクション Genres が入力されるだけでなく、エンティティ Genres のコレクション Movies も入力されることです。したがって、更新する 1 つの映画をリポジトリに送信するときに、エンティティをコンテキストに添付すると、この映画と、更新する映画と同じジャンルのすべての映画を添付します。これは、エンティティのジャンルに、更新したい映画と同じジャンルの映画が含まれているためです。
したがって、最初の検索で大量の映画を取得した場合、1 つの映画を更新したいときに、シードする必要のないエンティティを多数送信するため、ネットワーク内で大量のトラフィックが発生します。
結果を検索するときに、ジャンル エンティティの映画のコレクションが入力されないようにする方法はありますか? すべてではなく、メイン エンティティである映画の関連エンティティのみを入力するためです。
私は SQLite と EF 4.4 を使用しています。ジャンルの追跡を無効にするmergeOptionを見つけようとしましたが、見つかりません。
ありがとう。