私はMVCを初めて使用し、コードファーストアプローチのモデルクラスを構築したときに、各キーID列に属性[ScaffoldColumn(false)]
が設定されていました。これを行ったのは、ビューにIDを明確に表示したくないためです。この問題の回避策は、IDフィールドを含む各ビューのUIによって生成されたHTMLを削除することです。
モデルでsettoを使用して発生した問題はScaffoldColumn
、false
ビューのEditメソッドが実行されたときに最初に気づき、次のエラーを受け取りました。ストアの更新、挿入、または削除ステートメントが予期しない行数(0)に影響しました。HttpPost
デバッグでコードを実行したとき、ビューのEditメソッドに示されているように、IDプロパティは実際にはゼロに設定されていました。
誰かが詳しく説明してくれることを願っている私の質問はScaffoldColumn
、この場合は編集のようにIDがコントローラーメソッドに送信されていない場合にMVCのような属性を持つことのポイントは何HttpPost
ですか?これを昔ながらの方法で行い、この属性がキー/外部キーのプロパティに追加されていないときに生成されたMVCテンプルによって作成された各ビューのHTMLマークアップを削除する必要がありますか?
この属性をに設定した場合の回避false
策は、各メソッドにIDパラメータを追加することHttpPost
であり、を呼び出す前に適切なIDプロパティフィールドを設定することSaveChanges()
でした。