An exception of type 'System.Data.Entity.Validation.DbEntityValidationException' occurred in EntityFramework.dll but was not handled in user code
I got this above exception is thrown while saving the record using mvc application. I don’t know where the validation errors for the below c# code.
public ActionResult Create([Bind(Include = "CategoryId,Name,ShortDescription")] Category category)
{
if (ModelState.IsValid)
{
db.Categories.Add(category);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(category);
}
Solution:
You can see the validation errors during the debug in visual studio. Otherwise you can also catch the exception and show the errors to console or logging store.
try
{
if (ModelState.IsValid)
{
db.Categories.Add(category);
db.SaveChanges();
return RedirectToAction("Index");
}
}
catch (DbEntityValidationException e)
{
foreach (var eve in e.EntityValidationErrors)
{
Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
eve.Entry.Entity.GetType().Name, eve.Entry.State);
foreach (var valerror in eve.ValidationErrors)
{
Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
valerror.PropertyName, valerror.ErrorMessage);
}
}
throw;
}