[英]How do I go about updating all relative records with my linq instead of first or default?
为了使用结帐链接更新记录,我通过Html.ActionLink
传递了查询字符串unum
,然后在ActionResult
调用它。
public ActionResult Checkout(Order order, int ? unum)
{
order = db.Orders.FirstOrDefault(o => unum == o.OrderNum);
order.RecievedShirt = false;
order.OrderCompleted = true;
db.SaveChanges();
var AuthenticationManager = HttpContext.GetOwinContext().Authentication;
AuthenticationManager.SignOut();
return RedirectToAction("Purchased", "Orders");
}
在此过程中,它只会更新第一条记录。 如何全部更新?
FirstOrDefault
方法返回与where条件匹配的第一个元素。 如果您希望所有符合条件的记录,请使用Where
方法获取所有与该unum
匹配的订单(假设您有多个订单将OrderNum
值与unum
变量值匹配),并在循环内对属性值进行udp处理。
同样,在获得与where条件匹配的订单时,在action方法中也不需要Order参数。
public ActionResult Checkout(int? unum)
{
if(unum!=null)
{
var allOrders = db.Orders.Where(o => o.OrderNum==unum.Value);
foreach(var order in allOrders)
{
order.RecievedShirt = false;
order.OrderCompleted = true;
}
db.SaveChanges();
}
//to do : Do something if unum is null ?????
var AuthenticationManager = HttpContext.GetOwinContext().Authentication;
AuthenticationManager.SignOut();
return RedirectToAction("Purchased", "Orders");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.