Entityframework批量删除
UI层
<a href="#" onclick="DelData(0);return false;" id="a_del" class="easyui-linkbutton" iconcls="icon-cancel">删除</a>
UI中js:
//删除按钮事件
function DelData(id) {
$.messager.confirm('提示', '确认删除?', function (r) {
if (r) {
var selected = "";
if (id <= ) {
$($('#tab_list').datagrid('getSelections')).each(function () {
selected += this.ID + ",";
});
selected = selected.substr(, selected.length - );
if (selected == "") {
$.messager.alert('提示', '请选择要删除的数据!', 'info');
return;
}
}
else {
selected = id;
}
$.post('/DataGrid/GetJson', { "action": "del", "cbx_select": selected }, function (data) {
$.messager.alert('提示', data, 'info', function () { $("#tab_list").datagrid("reload"); });
});
}
});
}
MVC中控制器:
1.action:
[HttpPost]
public ActionResult GetJson()
{
UserManagerServiceClient client = new UserManagerServiceClient(); string action = string.Empty;
if (Request.Form["action"] != "")
{
action = Request.Form["action"].ToString();
}
switch (action)
{
case "query": //第一次进入页面时查询数据
string JsonString = QueryEmployee(client);
return Content(JsonString.ToString());
case "submit":
string UpdateMsg = UpdateEmployInfo(client);
return Content(UpdateMsg);
case "queryone":
string JsonOneEmployee = QueryOneEmployee(client);
return Content(JsonOneEmployee);
case "del" :
string DelMsg = DelEmployees(client);
return Content(DelMsg);
default:
return Content("");
}
2.DelEmployees()方法:
/// <summary>
/// 删除员工信息
/// </summary>
/// <param name="client"></param>
/// <returns></returns>
private string DelEmployees(UserManagerServiceClient client)
{
string msg = "删除失败!";
string selectedID = Request.Form["cbx_select"] != "" ? Request.Form["cbx_select"] : "";
if (selectedID != "" && selectedID !="")
{
int delCount = client.DelEmployee(selectedID); // 从服务端返回的删除员工信息的个数
if (delCount > )
{
msg = string.Format("本次共删除了{0}条员工信息!", delCount);
}
} return msg;
}
WCF服务端代码:EF中contains就 好似sql中的in
/// <summary>
/// 删除员工信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public int DelEmployee(string id)
{
int msg = ;
try
{
List<string> strID = id.Split(',').ToList();
List<int> arrayID = strID.ConvertAll(e => int.Parse(e));
using (UserManageDB db = new UserManageDB())
{ using (TransactionScope transaction =new TransactionScope() )
{
foreach (var employee in db.EmployeInfo.Where(e => arrayID.Contains(e.ID)))
{
db.EmployeInfo.Remove(employee);
msg++;
}
db.SaveChanges();
transaction.Complete();
} } return msg;
}
catch (Exception ex)
{
throw ex;
}
}
Entityframework批量删除的更多相关文章
- EntityFramework:支持同一事务提交的批量删除数据实现思路
一切从一段代码说起... 下面一段代码是最近我在对一EF项目进行重构时发现的. protected override void DoRemove(T entity) { this.dbContext. ...
- php批量删除
php批量删除可以实现多条或者全部数据一起删除 新建php文件 显示数据库中内容: <table width="100%" border="1" cell ...
- confirm对话框取消后阻止ajax操作、ajax做批量删除
在做批量删除的时候,需要用confirm弹出一个提示框让用户确认是否删除,点击确定,执行操作,点击取消,取消操作.但是如果使用ajax把选中项的主键值传到处理页面处理时,如果使用下面的方法将confi ...
- mybatis批量删除提示类型错误
一. 这里主要考虑两种参数类型:数组或者集合. 而这点区别主要体现在EmpMapper.xml文件中标签的collection属性: 当collection="array"时,表名 ...
- php链接数据库 批量删除 和 注册审核
理解 : hiden value session name="a[]" 1. form 表单上传的 value=" "值 ...
- StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改
前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey&qu ...
- Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]
[虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...
- MongoDB学习笔记~大叔分享批量添加—批量更新—批量删除
回到目录 说它是批量操作,就是说将集合对象一次提交到服务器,并对数据进行持久化,如果您的代码是一次一次的提交,那不算是批量操作!在之前的mongodb仓储中并没有对批量更新和批量删除进行实现,而今天在 ...
- jdbc-批量插入、批量删除、批量更新
一.JDBC的批量插入 JDBC批量插入主要用于数据导入和日志记录因为日志一般都是先写在文件下的等. 我用Mysql5.1.5的JDBC driver 分别对三种比较常用的方法做了测试 方法 ...
随机推荐
- javamail 学习及实例
JavaMail,是Sun发布的用来处理email的API,提供给开发者处理电子邮件相关的编程接口.通过使用它可以方便地执行一些常用的邮件传输. 可以看下<java邮件开发详解>第四章和第 ...
- poj3669 Meteor Shower(BFS)
题目链接:poj3669 Meteor Shower 我只想说这题WA了后去看讨论才发现的坑点,除了要注意原点外,流星范围题目给的是[0,300],到302的位置就绝对安全了... #include& ...
- 20145236 《Java程序设计》实验五实验报告
20145236 实验五 Java网络编程 实验内容 1.运行TCP代码,结对进行,一人服务器,一人客户端: 2.利用加解密代码包,编译运行代码,一人加密,一人解密: 3.集成代码,一人加密后通过TC ...
- Extjs 视频教程
---恢复内容开始--- 网易云课堂 <尚学堂_Ext视频教程> login.html <html> <head> <meta http-equiv=&quo ...
- cookie与sessionID之间的关系实验
上一篇介绍了cookie,这里来看看cookie与sessionID之间有什么关系. 一.编写测试用例代码 新建一个servlet如下: public class SessionServlet ext ...
- 使用Parallel
Parallel是.net framework为我们封装的用于并行的静态类,它使用起来简单灵活.它为我们提供了三个方法,分别是Invoke,For和ForEach.下面来进行分别演示. Paralle ...
- 使用ContentProvider管理联系人------搜索联系人
此博客只实现了查询功能: import java.util.ArrayList; import android.os.Bundle;import android.provider.ContactsCo ...
- js克隆
一.有什么用 不破坏原对象的属性 引入一些概念~ 原始数据类型(5种):undefined.null.number.string.boolean 引用数据类型(1种,也叫复合数据类型):object ...
- web api control注册及重写DefaultHttpControllerSelector、ApiControllerActionSelector、ApiControllerActionInvoker
namespace EWorkpal.WebApi { public class HttpNotFoundDefaultHttpControllerSelector : DefaultHttpCont ...
- libpng交叉编译安装
tar xzf libpng-1.5.22.tar.gz cd libpng-1.5.22 mkdir tmp 打开Makefile文件并修改CC=arm-linux-gcc ./configure ...