2011-07-01 15 views
0

私はEFの初心者で、プレゼンテーションレイヤが複数のビジネスオブジェクト(各BOはエンティティを表します)の情報をどのように使用できるか理解していません。 Order Details(注文された製品)のデータを表示するにはDataViewが必要ですが、説明の列は実際にProductsからのものです。バインディングは、2つの異なるエンティティの列をDataViewに表示させるためにどのように機能しますか? EFを使用しない場合、Order DetailsビジネスオブジェクトはSQL Serverを呼び出して、2つのテーブル間のT-SQL JOINを使用して作成されたDataTableを返します。私はEFを使って同じ結果を達成する方法を知らない。エンティティフレームワーク、ビジネスオブジェクト、および外部キー

答えて

1

複数のオブジェクトの情報を使用する必要がある場合は、ナビゲーションプロパティにバインドすることができます。たとえば、オーダー詳細と商品の両方を読み込み、詳細のナビゲーションプロパティを使用して製品の説明に移動します。もう1つの方法(MVCで共通)は、新しい特殊ビューモデルタイプを作成することです。このタイプにはビューに表示する必要のある情報のみが含まれ、コントローラは注文の詳細と製品をこれらのカスタムクラスのリストに変換します。

+0

特殊モデルのアプローチでは、Automapperのようなツールを使用することをお勧めします。 –

関連する問題