删除,通过主键、外键找出数据,然后删除
一个外键ID对应的数据时单条时,直接通过single查询出数据,然后删除,但一个外键ID对应的数据是多条时,用single查询就会出现异常,现在就来实现一下一个外键对应多条数据的删除
通过你要删除的数据在你选择的那个表是主键,传到控制器,在别的表是外键,这样就要通过外键来删除了,因为同一个外键有多条数据,用single查询用了
同一个有两条数据(商机名称:酷酷酷 的两条数据)
try
{
//将string类型的数据转化为int
int BOID = Convert.ToInt32(BOId);
B_BOCheckFlow dbBOCheckFlow = (from tbBOCheckFlow in myModels.B_BOCheckFlow
where tbBOCheckFlow.BOID == BOID
select tbBOCheckFlow).Single();
}
catch (Exception e)
{
Console.Write(e);
}
报数据异常
用循环的一条一条数据循环删除
var dbBOCheckFlow = (from tbBOCheckFlow in myModels.B_BOCheckFlow
where tbBOCheckFlow.BOID == BOID
select tbBOCheckFlow).ToList();
foreach (B_BOCheckFlow item in dbBOCheckFlow)
{
if (item.BOID == BOID)
{
myModels.B_BOCheckFlow.Remove(item);
}
}
删除成功了,外键对应多条数据也通过循环删除了