2017-11-28 16 views
-4

データベース内のデータを更新しようとしています。データベースのNameOrderを更新しようとしました。ただし、データベースを更新することはできません。エラーはデータベース内のデータを更新する

です。ユーザーコードによってDbEntityValidationExceptionが処理されませんでした。

どうすればこの問題を解決できますか?私はこの例外がよりラッパのように、あなたはエラーハンドラで、それをループで検証エラーのすべてを引き出すことができている私のコメントで述べたよう

は、次のコードは、私のコントローラ

public ActionResult Update(Person[] People) 
{ 
    for (int i = 0; i < People.Length; i++) 
    { 
     Person person = db.Persons.Find(People[i].ID); 
     person.Order = People[i].Order; 
     person.Name = People[i].Name; 
     db.Entry(person).State = EntityState.Modified; 
     db.SaveChanges(); 
    } 


    return Json(new { JsonResult = "NICE" }); 
} 
+0

どのようなエラーが発生しましたか? – programtreasures

+0

エラーは何ですか? – lucky

+3

エラーが原因でエラーが発生していることがわかります。エラーを理解できない場合は、[ask]を読んで研究し、質問を編集して、エラーとあなたの研究から学んだことの両方を含めるようにしてください。 – CodeCaster

答えて

2

ある

このようなもの

var sb = new StringBuilder(); 
DbEntityValidationException validationException = (DbEntityValidationException)exception; 
foreach (var e in validationException.EntityValidationErrors) 
{ 
    foreach (var err in e.ValidationErrors) 
    { 
     sb.AppendLine($"Validation Error:{err.ErrorMessage}, Property: {err.PropertyName}"); 
    } 
} 
関連する問題