私は EF 4.1 が公開されてから 1 年以上前に EF CodeFirst を使用してきましたが、今ではかなり快適に作業できます。私はカスタム エンティティ バリデーターに慣れており、.SaveChanges() をオーバーライドしてその動作の一部を変更したり、テーブル以外の db オブジェクトへのマッピングなどの重要な概念を変更したりしています。しかし、私には曇ったままの EF のこの部分がありますcontext.Configuration.LazyLoadingEnabled = false;
。
基本を理解しています.linqクエリは呼び出されるとすぐにデータベースにスローされます.依存コレクションは、明示的に指定しないとロードされません.yadda yadda yadda. 私が理解したいのは:
- 遅延読み込みを無効にする必要があるのはどのような状況ですか? なぜ?
- それを無効にすることの実際的な利点および/または欠点は何ですか?
- 追加の説明は大歓迎です。