.net core 对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

  开发小记,一天一篇

posted @ 2020-04-15 09:59  橙子君123  阅读(1368)  评论(1编辑  收藏  举报