1

たくさんのフィールドとそのために生成されたEFエンティティを含むテーブルがあるとします。このエンティティの編集フォームを表示したいとしますが、テーブルに直接マップされない追加のフィールドがあります。

そこで、エンティティクラスとフィールドを継承するモデルクラスを作成します。ここまでは順調ですね。

問題は、ビューを返すときにエンティティオブジェクトからモデルオブジェクトにすべてのフィールドをコピーする必要があり、データを保存するときにその逆を行う必要があることです。確かにこれを行うためのよりクリーンな方法はありますか?

具体的な例は、ユーザー管理フォームであり、追加のフィールドは、メンバーシップテーブルに格納されているパスワードおよび確認パスワードフィールドです。

4

2 に答える 2

2

UI などのアプリケーション層とストレージに接続された生のエンティティ間の通信に使用されるデータ転送オブジェクトを分離することをお勧めします。はい、フィールドを前後にコピーする必要がありますが、AutoMapperなど、このタスクに役立つツールがあります。

于 2012-12-12T22:40:10.963 に答える
1

EFエンティティを作成しpartial(通常はデフォルトであると思います)、partial classそのクラス用の別のファイルにフィールドを追加できます。イリヤの答えほど良い練習ではありませんが、簡単です。

于 2012-12-12T22:57:55.787 に答える