それぞれの DataSources をフォームにドラッグして、DataGridView コントロールのセットを作成したいと考えています。オブジェクトとそのナビゲーション プロパティの 1 つ (DataSources から) に対してこれを行うと、マスターと詳細の関係に 2 つのグリッドができます。
Visual Studio 2012 (および EF 5.0) に移行した後、最初のグリッドは (ナビゲーターを使用して) 期待どおりに表示されます。ただし、「詳細」グリッドでは、2 つの列のみが表示されます (「Count」と「IsReadOnly」)。他のテーブル/オブジェクトで試してみましたが、同じ問題が発生しました。「列の編集」と「列の追加」を使用できないようにしました。例としてノースウィンドを使用します。フォームに 2 つの datagridview が必要です。1 つは顧客用で、もう 1 つは関連する注文用です。典型的なマスター/詳細ビュー。
プロジェクト (edmx) ファイルにモデルを追加しました。
モデルに新しいデータソースを追加しました。2 つのオブジェクト。顧客と注文のテーブル!
顧客エンティティを datagridview としてドラッグしました。すべてのフィールド (プロパティ) はグリッドにあります。
4 注文エンティティ自体ではなく顧客エンティティから注文をドラッグすると、「カウント」と「読み取り専用」という名前の 2 つの列しかありません。
上記の手順は、linq to sql VS 2012、EF 4.0、.NET 4.5 で正常に機能します。ただし、EF 5.0 ではありません。
と、
手順は、 http: //blogs.msdn.com/b/bethmassi/archive/2008/12/10/master-details-with-entity-framework-explicit-load.aspx で説明されている beth massi の方法とまったく同じですが、これは遅延読み込みや熱心な読み込みの問題ではありません!