MVC数据删除

控制器删除操作
!!!对数据库的操作,必需要慎重,
这里说下,下面删除的背景是学生学院表的删除大家都知道大学里有不同的学院,因为我们要删除的表,并不一单独的表,你想,学院表的下面不仅有学院专业,有学生,还有老师。因而我们在进行删除操作的时候,不能只考学院表的删除,还要考虑到,删除后可能造成的影响。
设想:如果直接删除学院表会造成什么影响呢?删除了学院,年级表,教师表,专业表。那就成了学院没了,年级表还在,那年级表的数据就不是完整,那么年级表就变得多余,在数据库中叫沉余,要删除学院那么学院,就需要没有与之关联的表。那么如何避免数据沉余的呢?
查询
在进行删除之前,先把可能存在的与之关联的表给查询出来,下面我们开始做查询。
在查询前,我们需要new一个新实体类,这里的这个ReturnJsonVo实体类是包含返回,(状态、状态码、文本、附加数据),因为我们在查询完关联的表后,对她进行判断后返回的状态信息,在new一个新的实体后,我们需要返回一false的状态。
一如既往的在查询、新增、修改、删除等操作中,使用try— catch—。捕捉异常。
年级信息查询
首先我int 一张存放查询数据的表(intGradeRow),然后以学院id作为查询条件,查询有没有这个学院对应的年级,将查询到的数据,放到:intGradeRow这张表中去。接下来我们需要判断,有没有存在关联的数据。
关联判断
使用if—else—以表中的数据作为变量进行判断
如果:if (intGradeRow > 0)的数据大于零,那么说明存在着与学院关联的年级表,那么这时候就不能删除学院表了。这时候我们便不对数据进行任何操作,将数据状态信息返回给页面,并把对应的文本提示信息也一并返回去。这里的文本提示信息便是:
returnJson.Text = “有对应年级,不能删除,请先删除对应的年级!”;
相应的专业表&教师表的判断及操作都与年级信息查询,关联判断步骤一致,只是查询的表名不同
在这里插入图片描述
1、 查询学院
同理要删除学院信息,我们需要知道是那个学院,才好进行删除。查询学院通过学院id将学院查询出来,学院表里的学院。这里使用SYS_Academe因为这个表里有我们需要的字段
在这里插入图片描述
从数据库中将学院信息查询出来

SYS_Academe sysAcademe = (from tbAcademe in myModel.SYS_Academe

把查询到的数据放在sysAcademe这个表中
linq删除
将我们上面放在sysAcademe的数据里的表,从数据库中移除,
移除完后,对发生改变后的数据进行保存

myModel.SYS_Academe.Remove(sysAcademe);
                int intR = myModel.SaveChanges();

成功判断
使用if—else—进行判断数据删除成功或是失败了,if (intR > 0)大于零说明删除成功了,反之也就是失败了
在这里插入图片描述
总结:
删除相对于是简单的,也最为需要慎重,也知道数据无价,在进行删除前,一定要清楚要删除什么,删除了后会怎么样?为保数据的完整性,必要的判断必不可少。尽量避免产生数据沉余

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值