这次给说一下同条件查询多条数据的删除,以证件作为条件,查询李珊这位乘客的保存物品数据下图可见数量为三。
接着往下看控制器的代码 接收条件进行查询,然后用foreach循环删除数据,还可以记录成功失败的条数。同时对主表进行修改。请接着往下看。
public ActionResult deletion(string userid)
{ ReturnJson returnJson = new ReturnJson();
try
{
var User = (from tb in myModels.B_Passenger
where tb.Passengid == userid.Trim()
select tb).Count();
if (User==1)
{ var user = (from tb in myModels.B_Passenger
where tb.Passengid == userid.Trim()
select tb).Single();
var passer = (from tbn in myModels.B_Deposit
where tbn.PassengerID == user.PassengerID
select tbn).ToList();
if (passer.Count() > 0)
{
var aaa = 0;
foreach (var item in passer)
{
myModels.B_Deposit.Remove(item);
myModels.SaveChanges();
aaa++;
}
if (aaa > 0)
{
user.PassRemarks = user.PassRemarks+"-"+ "寄存物品已领取";
myModels.Entry(user).State = System.Data.Entity.EntityState.Modified;
myModels.SaveChanges();
returnJson.State = true;
returnJson.Text = "成功";
}
else
{
returnJson.State = false;
returnJson.Text = "失败";
}
}
else {
returnJson.State = false;
returnJson.Text = "该乘客没有寄存物品";
}
}
else
{
returnJson.State = false;
returnJson.Text = "不存在该身份证号的记录,请检查是否输错";
}
}
catch (Exception)
{
returnJson.State = false;
returnJson.Text = "数据异常";
}
return Json(returnJson, JsonRequestBehavior.AllowGet);
}
最后就是效果图了,删除完毕,下次见