zoukankan      html  css  js  c++  java
  • .net 利用Emit将object转为DbParameter,DataTable转为List<>

      先放测试结果图,测试的方法是拷贝了老赵的一个简单的性能计数器:CodeTimer。发现速度还是比利用反射来获取快了2倍左右的,将object转为DbParameter的反射方法我没写。

                                                                  

    在开发中,由于没有用第三方的orm框架,导致和数据库交互这里需要写很多的代码来拼接DbParameter。还有就是需要利用反射将DataTable转为List<>,在性能上会有点偏低。

    所以我就花了几个礼拜时间看了下Emit,然后简单的实现了下一些自己常用的功能。大家如果觉得可以,可以直接下载代码拿去使用,如果发现哪里不对的或者有更好的实现方法的,欢迎指正与讨论。

    使用说明:

       //将Object转为paramList,SqlParameter是指DbParameter类型,三个参数,第一个参数是object,第二个参数是参数符号(@,:,?),第三个参数是前缀

       var paramList = DbParamUtil.ToDbParam<SqlParameter>(new User(), "@", "w_");//

      //将table转为对应List<T>, tableInstance是你需要转换的table,User是你要转换的实体类型

       tableInstance.ToList<User>();

      //将DataRow转为实体,dataRowInstance是你需要转换的DataRow,User是你要转换的实体类型

       dataRowInstance.ToEntity<User>();

    源码下载:

      github地址:https://github.com/yjqGitHub/EmitConvert.git

     后期如果有时间,且实现了ioc,也会在这个地址更新

      

  • 相关阅读:
    SDN大作业
    第06组 Beta版本演示
    SqlServer 将多行字段合并成单行
    C# MD5加密字符串
    Request.IsAjaxRequest()总是返回false
    Mybatis 语句包含单引号的写法
    idea每次启动maven项目都貌似读不到配置
    idea下springboot项目配置文件application.properties不生效的问题
    Ubuntu 设置时区
    SpringBoot 使用MyBatis
  • 原文地址:https://www.cnblogs.com/yjq-code/p/6953697.html
Copyright © 2011-2022 走看看