早期的版本一直用的是EF,可是EF一直有個讓人很不爽的東西須要mapping 實體對象;若是沒有映射的狀況下連查詢都沒辦法;javascript
因此後來開始使用dapper 可是dapper都是直接用的是sql,這個對查詢來講還好,可是新增,更新就很麻煩。java
基於以上的緣由就打算對dapper進行擴展,實現傳入實體對象就能直接更新 和新增;不用再去寫sql語句。sql
下面直接貼上代碼app
新增async
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(); } } }
更新this
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
開發小記,一天一篇blog