VisualStudio删除(多表)
Posted 牧云的少年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VisualStudio删除(多表)相关的知识,希望对你有一定的参考价值。
VisualStudio删除(多表)
多表删除之前需要把有关联的表查询出来,看看是否有在使用该学院的信息,因为此行为是直接删除里面的数据,但因为有关联其他的表不可直接删除,除非把所有关联的表都删除。
如果在不知道表和哪些表有关联的信息可以打开模态表(红圈里是需要删除数据的表,本来的ID就是academeID。 蓝色的的则是关联表关联他的ID就表示这些表中数据都和这表的数据有关联)
首先用 Count方法吧对应的ID表中的数据查询出来
Int countSpecialty = myModel.SYS_Specialty.Count(m => m.academeID == AcademeID);
int countGrade = myModel.SYS_Grade.Count(m => m.academeID == AcademeID);
int countClass = myModel.SYS_Class.Count(m => m.academeID == AcademeID);
int countStudent = myModel.SYS_Student.Count(m => m.academeID == AcademeID);
其次用if语句判断查询出来是否有数据在对接要删除的表中,如果没有就可以删除。
如果有就判定不可删除
if ((countSpecialty + countGrade + countClass + countStudent) == 0)
最后用where查询语句查询出要删的数据用查询语句和if判断后即可删除
SYS_Academe Academe = myModel.SYS_Academe.Where(m => m.academeID == AcademeID).Single();
myModel.SYS_Academe.Remove(Academe);
if (myModel.SaveChanges() > 0)
控制器中的删除方法代码:
其中也用了try catch语句作用于数据判断,如果数据异常则很快就能找出问题。
以上是关于VisualStudio删除(多表)的主要内容,如果未能解决你的问题,请参考以下文章