私はしばらくアンドロイドを落として、.Netのルーツに戻ってASP/MVCに慣れることに決めました。しかし、私は現在この問題を抱えています:フォームに存在しない必須エンティティの検証に失敗しましたか?
私は簡単なログインフォームを作成しました。その背後にあるモデルはuserIDを持っていますが、私はコードで生成する鍵です。必要なタグ。問題は私が登録に行くとき私はこのエラーが表示されます:
Exception Details: System.Data.Entity.Validation.DbEntityValidationException: Validation failed for one or more entities. See 'EntityValidationErrors' property for more details. The validation errors are: The m_IdentityCode field is required.
それは要件を指定する属性はありません。私は人々が[key]属性を使用したいくつかのビデオを見てきましたが、それは要件の問題を生じませんでしたので、何が起こっているのか分からず、助けに感謝します。
[Key]
public string m_IdentityCode { get; set; }
編集;
[HttpPost]
public ActionResult UserRegistration(UserAccountModel user)
{
if (ModelState.IsValid)
{
using (AccountDatabaseContext context = new AccountDatabaseContext())
{
context.m_UserAccounts.Add(user);
context.SaveChanges();
ModelState.Clear();
ViewBag.Message = "You have successfully registered your account. Welcome.";
}
}
return View();
}
しかし、その例外はいつスローされますか?あなたのコントローラーで?あなたのDbSetにエンティティを追加しようとするとき、あなたのキーのプロパティは値 – octavioccl
を持っていなければなりません。私はなぜそれが自動的に1に設定する必要があるのかわかりません。なぜなら、SQLで1のデフォルトとして設定しているからです。 – Eidenai
また@octavioccl私は呼び出しコードでポストを更新しました。 – Eidenai