如何解决向数据库中插入数据失败
首先,我从会话中挑选数据。这些数据我试图转移到另一个模型。但我的第一个数据(会话)已成功上传到数据库中。第一次数据传输成功。但是第二第三第四无论如何,那些数据不能转移我的模型。
这是我的代码:
public async Task<IActionResult> Checkout(Order11 anorder) {
List<Shop> shop = HttpContext.Session.Get<List<Shop>>("shop");
for (int i = 0; i < shop.Count(); i++) {
if (shop != null) {
anorder.ProductName = shop[i].Name;
anorder.ImagePath = shop[i].Image;
anorder.Price = shop[i].Price;
anorder.Quantity = shop[i].Quantity;
anorder.OrderNo = GetorderNo();
_db.Order11.Add(anorder);
}
_db.SaveChanges();
}
// other code
}
Order11.cs
public class Order11
{
public int Id { get; set; }
[display(Name = "Order Number")]
public string OrderNo { get; set; }
[required]
public string Name { get; set; }
[required]
[display(Name = "Phone Number")]
public string PhoneNo { get; set; }
[required]
[EmailAddress]
public string Email { get; set; }
[required]
public string Address { get; set; }
public DateTime OrderDate { get; set; }
public string ImagePath { get; set; }
public int Quantity { get; set; }
public int Price { get; set; }
public string ProductName { get; set; }
}
}
当我运行应用程序时,我收到此错误:
我想将所有会话数据传输到我的模型(DB)中。这个问题的解决方案是什么?我是初学者,请帮忙。
解决方法
请在保存数据前设置anOrder.Id = 0;
。
请使用 try、catch 显示内部异常。我无法评论。
public async Task<IActionResult> Checkout(Order11 anOrder)
{
List<Shop> shop = HttpContext.Session.Get<List<Shop>>("shop");
for (int i = 0; i < shop.Count(); i++)
{
try
{
if (shop != null)
{
anOrder.ProductName = shop[i].Name;
anOrder.ImagePath = shop[i].Image;
anOrder.Price = shop[i].Price;
anOrder.Quantity = shop[i].Quantity;
anOrder.OrderNo = GetOrderNo();
_db.Order11.Add(anOrder);
}
_db.SaveChanges();
}
catch(Exception ex)
{
}
}
// other code
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。