本次示例项目使用Dappe1.50.5和Dapper.Contrib1.50.5

数据库执行的脚本检测工具是SQL Server Prifiler

1.使用Where In 实现批量更新

1.1代码如下:

///

/// 把多个用户的isvalid置为0

///

public void UpdateUsersByWhereInTest()

{

var sql = @"UPDATE dbo.[user] SET isvalid=0 WHERE UserId IN @UserId ;";

var userIdArr = new int[] { 3013, 3012, 3011, 3010 };

var res = Repository.Execute(sql, new { UserId = userIdArr });

Assert.True(res > 0);

}

///查询多条记录

List vs = new List();

string sql = " select * from Special_attributes where SattrId in @vs";

arrtModels = SqlConnectionFactory.Connection.Query(sql, new { vs } ).ToList();

1.2检测到数据库执行的脚本

exec sp_executesql N'UPDATE dbo.[user]

SET isvalid=0

WHERE UserId IN (@UserId1,@UserId2,@UserId3,@UserId4) ;',

N'@UserId1 int,@UserId2 int,

@UserId3 int,@UserId4 int',

@UserId1=3013,@UserId2=3012,

@UserId3=3011,@UserId4=3010

2.更新多条数据,每一条数据更新的内容可不相同

2.1代码如下

///

/// 分别把用户Id是3013的用户名称更新为张三,用户Id是3012的用户名称更新为李四

///

[Fact]

public void UpdateUsersTest()

{

var sql = @"UPDATE dbo.[user] SET UserName=@UserName WHERE UserId = @UserId ;";

var users = new List {

new User { UserId=3013, UserName = "张三", },

new User { UserId =3012, UserName = "李四", },

};

var res = Repository.Execute(sql,users);

Assert.True(res > 0);

}

// 6、批量删除

public int Delete_Shopping(List CommodityID)

{

string sql = string.Empty;

sql += " delete ShoppingCommodity where CommodityID in @CommodityIDs";

int j = SqlConnectionFactory.Connection.Execute(sql,new { CommodityIDs = CommodityID.ToArray() });

return j;

}

// 7、 用where 的in 查询    参数得是数组类型  并且参数不加括号

// 8 、批量添加  List 当作参数  list里某个属性的值只能有一个

2.2检测到数据库执行的脚本

生成两条Update脚本执行

exec sp_executesql N'UPDATE dbo.[user]

SET UserName=@UserName

WHERE UserId = @UserId ;',

N'@UserId int,@UserName nvarchar(4000)',

@UserId=3013,@UserName=N'张三'

exec sp_executesql N'UPDATE dbo.[user]

SET UserName=@UserName

WHERE UserId = @UserId ;',

N'@UserId int,@UserName nvarchar(4000)',

@UserId=3012,@UserName=N'李四'

dapper mysql 批量_Dapper批量更新相关推荐

  1. dapper mysql 拓展_Dapper.Common基于Dapper的开源LINQ超轻量扩展

    Dapper.Common Dapper.Common是基于Dapper的LINQ实现,支持.net core,遵循Linq语法规则.链式调用.配置简单.上手快,支持Mysql,Sqlserver(目 ...

  2. dapper mysql 批量_MySQL数据库之c#mysql批量更新的两种方法

    本文主要向大家介绍了MySQL数据库之c#mysql批量更新的两种方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 总体而言update 更新上传速度还是慢. 1:  简单的 ...

  3. MySQL批量插入与更新

    目录 准备表和测试数据 insert into values.insert into select replace into insert into on duplicate key update i ...

  4. mysql 实现批量添加和更新功能

    //mapper.xml文件配置 单独添加<!-- Integer addbCompany(bCompany bc);注册网点 --><insert id="addbCom ...

  5. 批量 杀掉 mysql 连接_批量杀死MySQL连接的四种方法详解

    方法一 通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令.复制代码 代码如下:mysql> ...

  6. mysql命令行批量添加数据_mysql命令行批量插入100条数据命令

    先介绍一个关键字的使用: delimiter 定好结束符为"$$",(定义的时候需要加上一个空格) 然后最后又定义为";", MYSQL的默认结束符为" ...

  7. mysql 如何提高批量导入的速度

    mysql 如何提高批量导入的速度 最近一个项目测试,有几个mysql数据库的表数据记录达到了几十万条,在搭建测试环境 导入 测试数据时,十分慢. 在网上搜索了一下,有下面一些方法可以加快 mysql ...

  8. EF Core中高效批量删除、更新数据的Zack.EFCore.Batch发布三个新特性

    Zack.EFCore.Batch是一个支持在Entity Framework Core中高效删除和更新数据的开源库.我们知道,EF Core中不支持高效的删除和更新数据,所有的更新和操作都是逐条数据 ...

  9. 批量插入或更新数据(MyBatis-plus框架)

    目录 1.场景说明 2.DUPLICATE 和REPLACE比较 3.批量插入或者更新(两种方式) 方式一:mybatis-plus的saveOrUpdateBatch方法 问题:如果操作类集成了基础 ...

最新文章

  1. 三星电池正在获取使用模式_三星Galaxy S10系列超大电池持久动力,解决电量烦恼...
  2. iframe 父窗口和子窗口相互的调用方法集锦
  3. 自己在CODING过程中遇到的问题以及解决(C/VC)
  4. 正则表达式的常用操作符
  5. VUE工程跨域的配置
  6. .htaccess FollowSymlinks影响rewrite功能
  7. 为什么年轻一代 连操作系统的基本知识 都不懂?
  8. 金九银十加薪季,测试题预热一波。
  9. dhcp服务器设置无线,无线网dhcp服务器设置
  10. 4月18日云栖精选夜读 | 阿里靠什么支撑 EB 级计算力?
  11. Android实现语音识别代码
  12. 用什么工具可以制作gif?分享一款在线制作gif动画工具
  13. matlab画图,均值±标准差
  14. 鸿蒙系统底部任务栏无响应,win10底部任务栏无响应两种修复方法
  15. 【CSDN】博文导入微信公众号
  16. 电商经验!补单防止骗子退款技巧
  17. 《编程之道》译者序(转载) (转)
  18. 【终极之战】基于Vue3+Vant3造一个网页版的类掘金app项目 - 个人主页
  19. python func函数用法_python函数局部变量用法实例分析
  20. 新零售餐饮风口正盛,食云集却在夹缝中求生?

热门文章

  1. ubuntu下最优秀的截屏软件scrot
  2. java游戏源码(打地鼠游戏实现)
  3. android原生webview打开优酷腾讯或者自己做的视频网页无声音无法播放等问题
  4. 计算机专业的会网盘扩容吗,网盘扩容是什么原理?百度云最新扩容技术解析!...
  5. Swap函数(C语言版)
  6. jQuery实现京东轮播图
  7. 文本框下载jQuery UI Datepicker精美的日期选择组件
  8. 北大毕业养猪的他,现在很惨 ?
  9. 爬虫之urllib2库的请求详解
  10. 保险销售管理系统设计与实现