早期的版本一直用的是EF,但是EF一直有個讓人很不爽的東西需要mapping 實體對象;如果沒有映射的情況下連查詢都沒辦法; 所以後來開始使用dapper 但是dapper都是直接用的是sql,這個對查詢來說還好,但是新增,更新就很麻煩。 基於以上的原因就打算對dapper進行擴展,實現傳入實體對象 ...
早期的版本一直用的是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
開發小記,一天一篇