早期的版本一直用的是EF,但是EF一直有个让人很不爽的东西需要mapping 实体对象;如果没有映射的情况下连查询都没办法;
所以后来开始使用dapper 但是dapper都是直接用的是sql,这个对查询来说还好,但是新增,更新就很麻烦。
基于以上的原因就打算对dapper进行扩展,实现传入实体对象就能直接更新 和新增;不用再去写sql语句。
下面直接贴上代码
新增
public async Task<int> Insert<T>(T entity) where T : class { try { string sql = SqlHelper.Insert<T>(sqlAdapter); var res = await dbConnection.ExecuteAsync(sql, entity, dbTransaction); return res; } catch (Exception ex) { throw ex; } finally { if (dbTransaction == null) { this.Close(); } } }
更新
public async Task<int> Update<T>(T entity) where T : class { try { string sql = SqlHelper.Update<T>(sqlAdapter); var res = await dbConnection.ExecuteAsync(sql, entity, dbTransaction); return res; } catch (Exception ex) { throw ex; } finally { if (dbTransaction == null) { this.Close(); } } }
需要nuget引入
cd.dapper.extension
开发小记,一天一篇