早期的版本一直用的是EF,但是EF一直有个让人很不爽的东西需要mapping 实体对象:如果没有映射的情况下连查询都没办法: 所以后来开始使用dapper 但是dapper都是直接用的是sql,这个对查询来说还好,但是新增,更新就很麻烦. 基于以上的原因就打算对dapper进行扩展,实现传入实体对象就能直接更新 和新增:不用再去写sql语句. 下面直接贴上代码 新增 public async Task<int> Insert<T>(T entity) where T : class
根据多个条件更新数据 UPDATE sphwph SET BKXSHL=t2.BKXSHL FROM sphwph t1,sphwph_170420 t2 --(SELECT a.* FROM dbo.sphwph a JOIN spkfk b --ON a.spid = b.spid WHERE a.shl <b.jlgg AND a.shl<>0 AND a.hw='HWI00000001' --AND a.spid IN( --SELECT DISTINCT spid FROM d
今天用Dapper更新是用到了IN写法,园子里找了篇文章这样写到 传统sql in (1,2,3) 用dapper就这样写 conn.Query<Users>("SELECT * FROM Users s WHERE s.id IN (@ids) ",new { ids = new int[]{1,2,3}}) conn.Query<Users>("SELECT * FROM Users s WHERE s.id IN (@ids) ",ne
在mysql中,如果你要根据某个字段的值不一样,来更新另一个字段的值,可以用如下sql语句: 如果仅仅是两个分支,if语句就可以了 update tm set page_name=if(q_aswer='A','this is AnswerA',page_name) 如果是多个分支,使用case: update tm set page_name=CASE q_aswer WHEN 'A' THEN 'aaa' when 'B' then 'bbb' when 'C' then 'ccc' el
语法: update test set 字段1=case when 条件1 then 值1 when 条件2 then 值2 end 示例: update PMS_ProjectInfo set ProProgress=case when ProProgress+@ProProgress >=1 then 1 else ProProgress+@ProProgress end where ProjectID=@ProjectID SQL条件判断语句 第一种: SELECT CASE WHEN p
CREATE TABLE a( NAME INT, age int ); CREATE TABLE b( height INT, weight int ); ,); ,); SELECT * FROM a; SELECT * FROM b; SELECT * FROM a; update a s, b c set s.name = c.height where s.age = c.height;
有两张表bas_student.bas_householder, 去除学生表中与家长表重复的手机号 UPDATE bas_student a,bas_householder b SET a.mobile=NULL WHERE a.mobile=b.HouseHolderMobile AND LENGTH(a.Mobile)=11;