Проблема вставки данных в базу данных:
например: 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: 'validation of one or more entities failed. For more information, see the EntityValidationErrors property. '
извините, я первокурсник
Чтобы дать вам отличный ответ, нам может помочь, если вы взглянете на Как спросить, если вы еще этого не сделали. Было бы также полезно, если бы вы могли предоставить минимальный воспроизводимый пример.
добавить попытку поймать, чтобы найти точное сообщение об ошибке
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;
}
Спасибо. Это было большой помощью. Задача решена. ErrorMessage" поле GoodPhoto должно иметь тип строки или массива с максимальной длиной "50".
Я рад вам помочь..!
Что содержит Exception.EntityValidationErrors?