欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.net core 对dapper 新增 更新 删除 查询 的扩展

程序员文章站 2022-07-02 09:16:55
早期的版本一直用的是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

  开发小记,一天一篇