0

MVC 2.0 アプリケーション内に作成ビューを作成しました。デフォルトでは、整数 ID 列のフィールドが含まれていました。

これは間違いなく私が必要としないフィールドです。

コードでオブジェクトを作成しようとするときにフィールドを削除して updatemodel を使用すると、自動インクリメントであっても、ID 列のデータが渡されないため、何かが壊れますか?

また、NerdDinner の例では、updatemodel が使用され、その後に repository.save メソッドが呼び出されていることに気付きました。

updatemodel はオブジェクトをデータベースに保存すると思っていましたが、その後 .save メソッドを呼び出すのはなぜですか? それとも私は何かを逃しましたか?

これについての助けをいただければ幸いです。

乾杯

4

1 に答える 1

0

私が理解しているように、UpdateModelメソッドはオブジェクト内のすべてのデータを吹き飛ばします。これは、MVCがラウンドトリップベースであるためです。状態を維持する必要がある場合は、消えたものはすべて戻ってくるはずです。詳細については、この質問を参照してください。

私の意見では、このシナリオを処理するためのより良い方法は、DB内のドメインエンティティを更新するためにサービス呼び出しに渡されるActionパラメーターとして入力モデルクラスを用意することです。(または、本当に必要な場合は、このマッピングコードをactionメソッドに含めることもできます。)

また、DBモデルに直接バインドすることで発生する可能性のあるセキュリティの脆弱性にも注意してください。

于 2010-03-15T21:11:44.857 に答える