DataTable转Entity(Emit版)】的更多相关文章

public static List<T> ToList<T>(DataTable dt)        {            List<T> list = new List<T>();            if (dt == null) return list;            DataTableEntityBuilder<T> eblist = DataTableEntityBuilder<T>.CreateBuild…
namespace Echofool.Utility.Common { using System; using System.Collections.Generic; using System.Data; using System.Linq.Expressions; using System.Reflection; using System.Reflection.Emit; public class DataTableUtility { public static IEnumerable<T>…
Expression构建DataTable to Entity 映射委托   1 namespace Echofool.Utility.Common { 2 using System; 3 using System.Collections.Generic; 4 using System.Data; 5 using System.Linq.Expressions; 6 using System.Reflection; 7 using System.Reflection.Emit; 8 9 publ…
原文地址:https://www.cnblogs.com/yanweidie/p/4605212.html 手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数据,经过分析一个简单的列表接口每一行数据返回了16个字段,但是手机APP端只用到了其中7个字段,剩余9个字段的数据全部都是多余的,如果接口返回数据为40K大小,也就是说大约20K的数据为无效数…
前段时间通过网上查找,使用emit将Datatable,DataReader转换成List<T>了.这是从数据库到展示. 但是最近整理Hikari(我写的数据库连接池),发现c#里面数据库客户端驱动一般会提供一个BulkCopy的类,一般接口是DataTable,可以批量插入.所以又研究了如何把List<T>转DataTable. 一般方法是全部反射,我就不说了.这里只说emit,记录下下次用. 这里创建动态方法(委托)有个范围问题.我举个例子 假如有Pseron类. public…
当使用Sql语句查询数据库,返回DataSet数据集. DataSet转化为数据列表,可以通过映射方式直接返回Entity数据列表 新建一个特性类,用于数据库列表列名称映射 LinqToDB提供了一个ColumnAttribute,但是通过反射不方便获取ColumnAttribute获取CustomAttributes时,虽然可以筛选到指定ColumnAttribute,但是CustomAttributeData不容易转换到ColumnAttribute var customAttributeD…
一.前言 多条件查询分页以及排序  每个系统里都会有这个的代码 做好这块 可以大大提高开发效率  所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF 在做多条件搜索时 都有这类似的代码 这样有几个不好的地方 1.当增加查询条件,需要改代码,对应去写相应的代码. 2.对多表查询以及or的支持 不是很好.而我们很常见的需求不可能是一个表的查询 3. 这样写表示层直接出现 了SQL语句 或者 linq 的拉姆达表达式  这是很不好的 表示层不应该知道数…
/// <summary> /// 将List转换成DataTable /// </summary> /// <typeparam name="T"></typeparam> /// <param name="data"></param> /// <returns></returns> public static DataTable ToDataTable<T>…
using System;using System.Collections.Generic;using System.Data;using System.Reflection;using System.ComponentModel; public static class DataTableUtility{ /// <summary> /// DataTable To IList<T> /// </summary> /// <typeparam name=&quo…
public static IEnumerable<T> Parse<T>(IEnumerable<DataRow> rows) where T : class, new() { if (rows == null || Enumerable.FirstOrDefault<DataRow>(rows) == null) return (IEnumerable<T>) new T[0]; PropertyInfo[] properties = typ…