话不多说,先上代码 我用的架构是MVC 在控制器写sql代码
//第一种删除方法: 查询要删除数据的主键ID
var ModelYouXiuMingDan = dbXSPY.XSSSPGPY_YouXiuMingDanBiao.Where(m => m.PingYouSheDingID == PySheDingID).ToList();
foreach(var m in ModelYouXiuMingDan) //用m遍历循环获取ID
{
dbXSPY.XSSSPGPY_YouXiuMingDanBiao.Remove(m); //m在XSSSPGPY_YouXiuMingDanBiao里移除
dbXSPY.SaveChanges();
}
var ModelTouPiaoJiLu = (dbXSPY.XSSSPGPY_TouPiaoJiLuBiao.Where(m => m.PingYouSheDingID == PySheDingID)).ToList();
foreach(var m in ModelTouPiaoJiLu)
{
dbXSPY.XSSSPGPY_TouPiaoJiLuBiao.Remove(m);
dbXSPY.SaveChanges();
}
//第二种删除方法 第一种方法可以删除不同表的同一ID,第二种写两次同样的代码运行会出错,兼容性问题,因为不能同一个ID出现同种方法上
//而第一次方法可以删多个表而不冲突
var ModelsHouXuanList = (dbXSPY.XSSSPGPY_PingYouSheDingBiao.Where(m => m.PingYouSheDingID == PySheDingID)).Single();
dbXSPY.XSSSPGPY_PingYouSheDingBiao.Remove(ModelsHouXuanList);
dbXSPY.SaveChanges();
//第三种删除方法是针对要删除的数据的表中没有与之对应的ID ,要用参数ID 查询出另一张表的ID 来与要删除的表中的ID 对应,
//这就涉及一个外键ID对应关联的多个主键ID的问题
var YouXiuList = (from tb in dbXSPY.XSSSPGPY_YouXiuMingDanBiao //查询出PySheDingID的应对的数据
where tb.PingYouSheDingID == PySheDingID
select new {
tb.YouXiuMingDanID
}).ToList();
for(var i=0;i<YouXiuList.Count;i++) //循环读取YouXiuList里边的YouXiuList[i].YouXiuMingDanID
{
var ModelPingYouList = dbXSPY.XSSSPGPY_PingYouBiao.Where(m => m.YouXiuMingDanID == YouXiuList[i].YouXiuMingDanID).Single();
dbXSPY.XSSSPGPY_PingYouBiao.Remove(ModelPingYouList); //将查出来的ID在表中匹配对应的ID进行删除
}
dbXSPY.SaveChanges();
谢谢您的观看,如上解析不正确,有什么不妥的地方,请指示出来并告知小弟,我一定会认真修改。