MVCアプリケーションでEntityFramework5を使用しています。
現在、POCOジェネレーターを使用して生成されたタイプにビューを直接バインドしています。
これを行うリスクはありますか?悪いデザインですか?
または、モデルをバインドする前に、常にモデルをビューモデルに変換する必要がありますか?
MVCアプリケーションでEntityFramework5を使用しています。
現在、POCOジェネレーターを使用して生成されたタイプにビューを直接バインドしています。
これを行うリスクはありますか?悪いデザインですか?
または、モデルをバインドする前に、常にモデルをビューモデルに変換する必要がありますか?
これを行うリスクはありますか?
私はそうは言いません。私が見ることができる唯一のリスクは、多くの柔軟性を失う可能性があり、プレゼンテーションがドメインによって駆動されることです。ドメインモデルへの変更は、プレゼンテーションに直接影響します。
悪いデザインですか?
はい。
または、モデルをバインドする前に、常にモデルをビューモデルに変換する必要がありますか?
はい、ビューモデルを定義して使用する必要があります。これらのクラスを使用すると、プレゼンテーション層をより細かく制御できます。
怠惰からEFクラスを使うことから始めて、「今回は違うだろう」と思うことがよくあります。しかし、私は必然的にそれから成長し、カスタムビューモデルクラスを使用するように変換します。データベースに表示したくない、わずかに異なるものがビューに多すぎるだけです...変換はそれほど苦痛ではないので、私は本当に後悔していません。