前面已经说了List转DataTable,也整理了代码. 现在转回来说说DataTable转List. 先举一个例子 public class Person { public int Age{get;set;} punlic string Name{get;set;} } 一般我们要实现转换,最好是直接调用,类似 public void ConvertDataRow(List<Person> lst,DataTable dt) { foreach(DataRow row in dt.Rows)
Emit生成动态方法部分摘自网上,但是经过修改,加入了对委托的缓存以及类结构的调整,使之调用更简洁方便.大致的思路是:要实现转换datatable到某个指定对象的集合,本质是实现转换一个datarow到一个指定的对象.利用Emit动态构造该方法并缓存起来,调用时从缓存查找出来并调用,就这么简单.上代码: /// <summary> /// 把datatable转换为对象集合列表List<T> /// </summary> public class DataTableCo
Reflect public static List<T> ToListByReflect<T>(this DataTable dt) where T : new() { List<T> ts = new List<T>(); string tempName = string.Empty; foreach (DataRow dr in dt.Rows) { T t = new T(); PropertyInfo[] propertys = t.GetType
xxxx ;WITH Tab AS ( SELECT CAST(ROW_NUMBER()OVER(ORDER BY CC.CreateTime DESC) AS INT) AS Sequency, ) OVER()) AS TotalRecords FROM dbo.CC CC ) SELECT *FROM Tab ) AND @PageIndex * @PageSize ORDER BY Sequency; /* 注意: - 1.定义的Model的各个属性的名称要和Select语句执行结果的列
前言,此方法利用反射将DataRow转成实体,由于反射性能不行,大家就看看就行了吧. 代码来啦 using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; namespace WangSql.DBUtility { public class DataMapHelper { private enum
感觉好久没有写博客了, 这几天有点小忙, 接下来会更忙, 索性就先写一篇吧. 后面估计会有更长的一段时间不会更新博客了. 废话不多说, 先上菜. 一.示例 1. 先建类, 类的名称与读取的表名并没有什么关系,可以不一样, 然后就是其中的属性大小写不限 public class Tch_Teacher { public int Id { get; set; } public string Name { get; set; } public bool IsDoublePosition { get;
/// <summary> /// DataTable转List<Model>通用类[实体转换辅助类] /// </summary> public class ModelConvertHelper<T> where T : new() { public static IList<T> ConvertToModel(DataTable dt) { // 定义集合 IList<T> ts = new List<T>(); //
在大部分时候我们从ADO中得到的数据都是DataTable.DataSet数据源,然而有强迫症的同学老是喜欢折腾,硬是要把它转换为实体集合,说是DataTable效率差云云,于是乎收到了同化. 必要信息 1,数据实体 public class UserInfo { public int ID { get; set; } public string name { get; set; } } 2,数据源(想象成从库中得到的数据) DataTable dt = new DataTable(); dt.
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>
使用反射和动态生成代码两种方式(Reflect和Emit) 反射将DataTable转为List方法 public static List<T> ToListByReflect<T>(this DataTable dt) where T : new() { List<T> ts = new List<T>(); string tempName = string.Empty; T t = new T(); PropertyInfo[] propertys =