public ActionResult Passo5(string btnVoltar, string btnAvancar) { if (btnVoltar != null) { return RedirectToAction("Passo4"); } else if (btnAvancar != null && ModelState.IsValid) { try { PropostaDAO propostaDAO = new PropostaDAO(); propostaDAO.Insert(_proposta); return RedirectToAction("Passo6"); } catch (DbEntityValidationException ex) { // Retrieve the error messages as a list of strings. var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); // Join the list to a single string. var fullErrorMessage = string.Join("; ", errorMessages); // Combine the original exception message with the new one. var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage); // Throw a new DbEntityValidationException with the improved exception message. throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors); }catch(Exception e) { throw new Exception("stack" + e.StackTrace); } } var errors = ModelState.Values.SelectMany(v => v.Errors); return View(_proposta); }