2011-01-28 11 views
3

これは愚かな質問ですが、私はエンティティフレームワークを使用する場合は、手動でモデルクラスを作成する必要はありません私を許してください?エンティティモデルはモデルの必要性を置き換えますか?人々は私にこの多くのことを尋ねるためエンティティモデルはmvcのモデルを置き換えます

提案が、私はこの質問をアップ投票した完全な初心者ノブ:)

答えて

2

に歓迎し、私が考えるには、このデザインパターンの重要な解釈があると思います。

MVCのモデルは、コントローラーとビューの間でやり取りする必要があるプロパティのバッグとして機能する単一の目的を持っています。

特定のモデルの代わりにエンティティを使用する場合は、そのエンティティに必要なものがすべて含まれていますか?ほとんどの場合、答えは「いいえ」です。 UI上で何かをサポートするためにエンティティにプロパティを追加したくないので、その目的のために特別に設計されたモデルを用意する必要があります。

私はしばしばモデル上のプロパティとしてエンティティを見ましたが、これは問題ありません。

+0

ありがとうSohnee、私は、OrderID、OrderDate、出荷され、OrderテーブルからのOrderIDと外部キーのProductIDを持つOrderProductsと呼ばれるOrderという名前のOrderというテーブルを持っているとします。 –

+0

これらのエンティティの両方に、themodelを使用し、それらに対して必要なプロパティをマップしますか?必須= true displayname = blablaは私がモデルを使用しているすべてのものですか?ビューを作成するときに、それをエンティティ、またはモデルにバインドするにはどうすればよいですか? –

+2

@Diver Dan - 特定のビューに対して** ViewModel **を作成します。たとえば、オーダーを作成するためのビューが必要な場合は、オーダーへの参照、場合によってはプロダクト、およびビューに必要なその他のロジックを含む 'OrderViewModel'を作成することができます。このViewModelとあなたのEDM - AutoMapperとの間をマップすると、これが有効です。 – RPM1984

関連する問題