DUPLICATE of自動生成された Linq to SQL クラスがすべてのデータをロードしないようにするにはどうすればよいですか? そこに回答を投稿してください!
NerdDinnerチュートリアルの例によく似た ASP.NET MVC プロジェクトがあります。(私は MVC 2 を使用していますが、それを作成するために NerdDinner チュートリアルに従いました)。
チュートリアルのパート 3の手順に従って、"Linq to SQL Classes" (.dbml) サーフェスを作成し、そこにデータベース テーブルをドロップして、データベースの Linq-to-SQL モデルを作成しました。デザイナーは、データベース テーブルに基づいて、生成されたクラス間の関係を自動的に追加しました。
私のクラスが NerdDinner の例に従っているとしましょう。そのため、Dinner テーブルと RSVP テーブルがあり、各 Dinner レコードは多くの RSVP レコードに関連付けられています。したがって、生成されたクラスでは、Dinner オブジェクトには RSVP のリストである RSVPs プロパティがあります。オブジェクト。
私の問題は次のとおりです。Dinner オブジェクトにアクセスするとすぐに、 RSVPsメンバーを使用していなくても、対応するすべての RSVP オブジェクトが読み込まれているようです (これについては間違っていることがわかってうれしいです)。
最初の質問: これは本当に生成されたクラスのデフォルトの動作ですか?
私の特定の状況では、オブジェクト グラフにはさらに多くのテーブル (桁違いに多くのレコードがある) が含まれているため、これは悲惨な動作です。ひとり親の記録。
2 番目の質問: この動作を変更できる、デザイナー UI を介して公開されているプロパティはありますか? (私は何も見つけることができません)。
3 番目の質問: DataContext に関連付けられDataContext
たオブジェクトを使用して、関連するレコードの読み込みを制御する方法の説明を見てきました。DataShape
それが私が意図していることですか?もしそうなら、それを行う方法だけでなく、通常の使用のための「パターン」を提案するNerdDinnerのようなチュートリアルはありますか?