C#当中如何Linq删除与批量删除

C#当中如何Linq删除与批量删除

文献种类:专题技术文献;
开发工具与关键技术:VS
作者:蛋蛋

.什么是删除?
删除: 指将已经不需要了的文件从系统的目录清单中删掉,以腾出磁盘空间给别的操作。在计算机中的大部分“彻底”删除就是将其从列表除名,并可以被其他文件覆写。所以误删之前请先确认一次,还有希望恢复! 在计算机中资料数据等都以文件形式存储,删除文件分为两种情况,一种叫"逻辑删除",另一种叫"物理删除".
逻辑删除顾名思义,文件没有被真正的删除,只不过是文件名的第一个字节被改成操作系统无法识别的字符,通常这种删除操作是可逆的,就是说用适当的工具或软件可以把删除的文件恢复出来。
物理删除是指文件存储所用到的磁存储区域被真正的擦除或清零,这样删除的文件是不可以恢复的
2. C#中如何实现数据的删除 ?
function delStudent(studentID) {
layer.confirm(“确定要删除该条数据吗?”, { icon: 3, title: “提示” }, function () {
$.post(“delStuInfos”, { StudentIds: studentID }, function (msg) {
layer.alert(msg, { icon: 0, title: “提示” });
tabStudent.reload(); //刷新表格
});
});
根据主键删除,那么既然是删除就学生ID
插件layui当中类似系统confirm,但却远胜confirm,另外它不是和系统的confirm一样阻塞你需要把交互的语句放在回调体中。同样的,它的参数也是自动补齐的。
询问的提示框(四个参数 content options yes cancel取消)
函数实际上是一个统一的代码块,你可以随时调用它。所有函数的开头必须加上“function()”给函数命名:最好的命名方法是,函数拥有的名称和它所表现的功能相一致。function()函数语法:function 函数名(参数1 [参数2]){函数体return 返回值}跟其函数名后的为方法名(自定义/自命名)再后来是传参;再是post提交post是向服务器传送数据
单条数据的删除,根据StudentID查询需要删除的学生信息那么如何删除单条学生表信息
PW_Student dbStudent = (from tbStudent in myModels.PW_Student
where tbStudent.studentID == StudentID
select tbStudent).Single();
Count() 是查询多条中的几条
Tolist() 是多条转为list
Single() 查询单条数据 一定需要使用try catch 捕获异常
myModels.PW_Student.Remove(dbStudent); 删除核心代码
接下来就需要考虑删除是否与其他表关联所以获取删除的考生的UserID
var userId = dbStudent.UserID;
根据userId查询需要删除的用户角色明细表信息
PW_UserRoleDetail dbUserRoleDetail = (from tbUserRoleDetail in myModels.PW_UserRoleDetail
where tbUserRoleDetail.UserID ==userId
select tbUserRoleDetail).Single();
myModels.PW_UserRoleDetail.Remove(dbUserRoleDetail);
myModels.SaveChanges();至少一条
所以相对于新增和修改来说删除的代码量是比较少的,无论是页面还是控制器但是除了删除之外呢还有批量删除!
将获取的id,最好在前台定义的数组,这样传入后台是一个逗号隔开的字符串,可以消除其中的空格。比起将其传入后台之后再去掉中间的空格来说,简便一些。当然,也可以传入后台之后消除空格。比如传入后台一个字符串。可以用.split(","); 方法去掉空格,并且以逗号作为分隔符,获得一个数组。然后遍历数组执行删除操作
获取选中行的数据 var checkStatus =layuiTAble .checkStatus(“ID”);
: checkStatus 是layui插件中的一个方法,直接调用;
2.判断其返回的长度 eg: if(checkStatus.data.length>0)
3. 申明变量,如果是字符串 var studentIds =””; 为空的字符串
4. 遍历循环for循环 for(var i=0; i< if里面的长度; i++){
studentIds += checkStatus.data[i].studentID+”;”;
//拼接字符串 +=是javaScript基础赋值运算符 x+=y等同于x=x+y//使用Split( ; ) 分割}
5.studentIds = studentIds.substring(0,studentIds.length-1);
//去掉最后的”;”
注释:substring()方法用于提取字符串中间介于两个指定下标之间的字符;返回的字符串包括start处的字符,但不包括stop的字符; [0,studentIds,length-1)先闭后开区间
6.回调函数刷新表格
批量删除控制器部分:
1. 注意传过来的是int类型还是string类型 (分割StudentIds)
2.申明字符串和两个记录删除成功/失败的数据条数
//记录删除成功/失败的数据条数
3. 判断传过来的字符串是否为空对拼接好的id进行分割
遍历循环
 批量删除是建立在删除的基础之上,首先是单条数据,后来根据复选框进行勾选然后根据获取数据再判断是否选中数据再根据最后的符号进行分割;这样虽然代码量会比较多一点但是在面对大数据需要删除则解决了很大的问题节省了很多时间

你可能感兴趣的:(后台)