0

データベースで生成されたIDフィールドでMVCアプリケーションデータベースを作成しました。MVC ModelStateエラーデータベースでIDが生成されても、IDフィールドは必須です

IDはデータベースによって生成されるため、モデルIでは 'StoreGeneratedPattern'プロパティを 'Identity'に設定します。

ただし、「作成」フォームを送信すると、ModelStateエラー「IDフィールドが必要です」が表示されます。

私は、ソリューションを再起動しようとしましたが、それを再構築しました。私は以前にこの問題があったことを知っています。だから、もし私がそれを理解するなら、私は未来の私がそれを見つけることができるようにここに答えを掲示するでしょう。

答えて

0

私は@Html.HiddenFor(model => model.ID)を「作成」ビューに含めました。

したがって、アプリケーションは喜んでIDを受け付けませんでしたが、IDとしてnullを受け入れたくありませんでした。

@ Html.HiddenForを削除しました。

P.S. IDの内容を覚えておくには、「編集」ビューに@Html.HiddenFor(model => model.ID)が必要です。

0

編集ビューでは、適切な行を更新するためにIDを持つ必要があります。

@ Html.HiddenFor(model => model.ID)=>を削除した場合、フォームを編集しようとすると、常に新しい行が生成されます。モデルは、最初はnullになりますので、隠しフィールドはしません -

あなたは作成/編集

if (model != null) 

{ 

    @Html.HiddenFor(model => model.ID) 
} 

=>フォームを作成しようとすると、両方のために同じビューを再利用するために、以下のコードに従うことができます実行される。

=>隠しフィールドを編集しようとすると、あなたのIDが格納されます。

関連する問題