Asp.net System.Data.Entity.Validation.DbEntityValidationException:';验证一个或多个实体失败
将数据插入数据库的问题: e、 g:goods.GoodPhoto=“/Content/img/imageGood/”+imageName; 替换为:goods.GoodPhoto=”“+imageName; 它成功了Asp.net System.Data.Entity.Validation.DbEntityValidationException:';验证一个或多个实体失败,asp.net,model-view-controller,Asp.net,Model View Controller,将数据插入数据库的问题: e、 g:goods.GoodPhoto=“/Content/img/imageGood/”+imageName; 替换为:goods.GoodPhoto=”“+imageName; 它成功了 [HttpPost] public ActionResult AddGoods(Good goods) { HttpPostedFileBase image = Request.Files["image"];
[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属性。“
将“尝试捕获以查找”添加到准确的错误消息中
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;
}
Exception.EntityValidationErrors包含哪些内容?抱歉,我是一个新手。我想给你一个很好的答案,如果你还没有看到,它可能会对我们有所帮助。如果你能提供一个简单的答案,这可能会很有用。谢谢。这帮了大忙。问题解决了。ErrorMessage“字段GoodPhoto必须是字符串或数组类型,最大长度为“50”。我很高兴能帮助您。。!