Skip to content

直接使用Dapper 拼SQL并调用Dapper

0611163 edited this page Jun 12, 2023 · 1 revision

拼SQL并调用Dapper

var remark = $"测试修改用户{rnd.Next(1, 10000)}";

var conn = db.GetConnection(); // 获取数据库连接,也可以直接new MySqlConnection
var sql = db.Sql<SysUser>(@"update sys_user set remark=@Remark where id=@Id", new { Remark = remark, Id = 1 });
conn.Execute(sql.SQL, sql.DynamicParameters);

优点:

  1. 不管何种数据库,参数前缀统一为@符。
  2. 省去了new DynamicParameters并添加参数的步骤。
  3. 更灵活地拼接SQL,可以通过Lambda拼接条件:
var sql = session.Sql<SysUser>(@"update sys_user t set remark=@Remark", remark).Where(t => t.Id == 1);

当然,只是比Dapper方便了一点点。