ASP.NET MVC项目中数据的Linq删除方法
对于数据这个词,我们都不陌生,特别是对于我们这些编程的人员来说,更是尤为熟悉,因为我们在编程的时候,做项目的时候,往往都会伴随着数据,因为数据能代表万物,它可以代表阿拉伯数字1,2,3,4,5,6,它还能代表金额,还能代表数量,还能代表信息,所以对于数据我们都很熟悉,但是为什么对于我们编程的人员来说,却是尤为熟悉呢?因为我们做编程的都离不开数据,我们的数据,可以是用户的账号和密码,也可以是金额,也可以是某一个学校的信息,也可以是某一个平台的资料,所以说我们的数据是各种各样的,在这个高科技时代,我们编程的人员每天的学习和工作都离不开数据,我们用我们的专业知识,为用户对数据进行更好的管理,为用户提供更好的服务和体验,每天都在学习和编程,而且数据是不固定的,是多变的一个变量,一会增多一会又减少,一会又要进行修改,所以对于我们来说:掌握好数据的新增,修改,删除,还有查询这几个方法尤为重要,下面给大家系统的简述一下在编程中Linq的删除的方法;
对于一些编程高手,或许增删查改这些都很简单,但是对于一些新人嘛,却又是有点难度,所以我根据我的认识系统的简述一下;
其实Linq的删除是非常简单的也就是关键的两句话,其中有两个关键的函数:
第一个就是关键的函数是:
Remove(),它代表删除的意思,括号里传入一个参数,这个参数代表需要删除的数据,
第二个关键的函数就是:
SaveChanges(),这个方法它代表受影响的行数
接下来是它们两个函数的写法,我用最近学习的项目里面的整一句代码来分析它的写法,以便大家更加的容易和理解;
首先第一个函数的写法是:
myModel.SYS_Academe.Remove(sysAcademe);
下面对上面代码进行拆开分析
myModel,它代表的是一个在项目里面被实体化的数据模型,它的名称是可以随意创建的,是不固定的;
SYS_Academe ,它代表的是数据库里面的一个数据表,也就是已经被实体化的myModel数据模型里面的一个数据表;
Remove();上面已经说明了,它代表删除的意思
最后是sysAcademe这个 在Remove()括号里面的参数,它代表的是需要删除掉的数据;
至于第二句就是
int intR = myModel.SaveChanges();
下面再分析一下第二句:
上面第二句代码也是除了Int和SaveChanges()是固定的写法以外,其它也是根据你们的数据名称进行替换名称,至于变量intR是可以随便起的名称。
Int是一个数据类型。它是一个从元数据,表示的是32位有符号整数;
intR是一个变量,用于被3赋值接收后面的数据;
然后就是intR后面的那个等号(=),这个等号不是一般的等号,在计算机里面,一个等号(=)表示的是赋值的意思,两个等号(=)才是表示等于的意思
至于myModel,它和上面的myModel一样,都是表示一个被实体化的数据模型 ;
最后就是SaveChanges (),它代表的是受影响的行数;
连起来的意思大概就是转换数据类型为int类型,然后声明一个变量intR,然后对变量intR进行赋值(=),myModel. SaveChanges()表示的是在myModel这个数据模型里面受上一句代码删除的数据在数据库内存里面的影响的行数。
这两句删除的关键代码执行完以后,基本上整个删除操作是完成了的,接下来只要对受影响的行数进行一下判断,就可以确定删除的指令是否完成,数据是否删除成功;若是受影响的行数对于0,那么就表示删除失败,若是受影响行数大于0,那么就表示成功。
其实删除并没有上面描述的那么简单,上面两句代码只不过是删除的关键代码而已,在它们之前还有各种各样的数据判断和传输数据,接下来用我在学习中接触到的一个MVC项目里面的学院的删除来全过程的简单的简述一遍新增的过程:
首先是在页面上获取到用户需要删除的学院数据
当用户对某一个数据点击删除的时候,先进行一下判断,以免用户是误点的,确认无误后,就把获取到的数据通过post方法传输到控制台,
当数据来到控制台,先给控制台定义一个class的类和一个返回值returnjson,以便返回对应的信息,
接下来就对这个需要删除的学院进行数据查询和判断,查询它是否存在年级信息,专业信息,教师信息,若是这些信息都没有,则在对应的那种学院表里面对这个传输过来的数据根据这张对应表的主键ID进行查询,查询数据出来后,就对该数据进行删除,返回一个状态为true和对应的文本提示;若是这个学院的数据里面存在的年级信息,专业信息,教师信息里面的其中一条,那么都不能进行删除,就返回一个状态为false和对应的文本信息
当数据执行删除之后,就对myModel这个实体化数据模型里面判断受影响的行数SaveChanges()是否为0,当它为0的时候,则代表没有删除数据,表示删除失败,当它大于0的时候,则表示有数据删除了,则代表删除成功。
将数据返回到桌面以后,在post的方法里面的function(data)通过参数data来进行接收,然后对返回来的数据进行判断,若返回来的数据的状态为true,那么就表示删除成功,若是false,则表示删除失败。这么一来,删除的过程就简述完了下面是代码图,大部分都带有注释以便参考:
这是页面上的代码
下面是控制器里的代码方法