c# .net Adsense ADO.NET Linq Viruses/security asp.net MVC JQuery Angular-js Node-js SEO Java C++ SQL API Networking vb.net .Net Css JavaScript Generics c#.Net entity framework HTML Website host Website Construction Guide HTTP tutorial W3C tutorial Web Services JSON Psychology Ionic framework Angular ReactJS Python Computer Android
asp.net MVC

An exception of type System.Data.Entity.Validation.DbEntityValidationException occurred in EntityFramework.dll but was not handled in user code

| | ASP-NET , MVC

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;
 
            }