System.Data.Entity.Validation.DbEntityValidationException : «проверка одного или нескольких объектов завершилась неудачно - PullRequest
0 голосов
/ 27 мая 2019

Проблема вставки данных в базу данных:

например: goods.GoodPhoto = "/ Content / img / imageGood /" + imageName; замените его следующим: goods.GoodPhoto = "" + imageName; и это сработало.

    [HttpPost]
    public ActionResult AddGoods(Good goods)
            {
                HttpPostedFileBase image = Request.Files["image"];
                string SavePath = Server.MapPath("~/Content/img/imageGood/");
                string imageName = DateTime.Now.ToFileTime().ToString()+image.FileName;
                image.SaveAs(Path.Combine(SavePath, imageName));
                goods.GoodPhoto = "/Content/img/imageGood/"+imageName;
                goods.ShopID = Convert.ToInt32(Session["ShopID"]);
                db.Goods.Add(goods);
                db.SaveChanges();
                return RedirectToAction("Index", "Home");
            }

Как только я кодирую «goods.GoodPhoto =» / Content / img / imageGood / «+ imageName;», а затем это не удалось. И сообщение об ошибке:

System.Data.Entity.Validation.DbEntityValidationException: 'проверка одного или нескольких объектов не удалось. Для получения дополнительной информации см. Свойство EntityValidationErrors. «

1 Ответ

0 голосов
/ 27 мая 2019

добавьте попытку catch, чтобы найти точное сообщение об ошибке

try
  {
     db.SaveChanges();                  

   }
 catch (DbEntityValidationException e)
 {
 foreach (var valErrors in e.EntityValidationErrors)
       {
         foreach (var errors in valErrors.ValidationErrors)
          {
            //here you will get property name and error message
                Trace.TraceInformation("Property: {0} Error: {1}", 
                                errors .PropertyName, 
                                errors .ErrorMessage);
          }                  

       }
   throw;                 
  }        
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...