DataTable扩展:转化实体ToList】的更多相关文章

直接上代码: 根据属性进行映射:DataTable转化成实体List public static class DataTableExtension { public static List<T> ToList<T>(this DataTable dt) { ) { return null; } List<T> entites = new List<T>(); foreach (DataRow dr in dt.Rows) { T t = (T)Activat…
我们在用三层架构编写软件时,常常会遇到例如以下问题,就是三层之间的參数传递问题:假设我们在D层查询出数据是DataTable类型的,那么我们在B层甚至U层使用这条数据时,就要用DataTable类型来回传递了,不管什么情况,我们都会不可避免的要填写读取的字段.比如我们须要使用第一条记录的的某个字段.代码须要这样写:mrc.count(*)rows(*).这样写的坏处有非常多: 1.easy写错,而且编译器是检查不出来的: 2.我们须要具体的了解数据库的结构: 3. 不符合面向对象编程思想. 这个…
记得在学校的时候,接触得最多的就是SqlHelper,每次在读取的时候不管是DataTable还是DataReader转换为实体对象的时候是最恼火的,因为要写很多代码,而且没有什么意义.后面接触到了反射,于是查了下资料也写了个已经烂大街的DataTable转换为Model实体对象 public static IEnumerable<T> DataTableToModels<T>(this DataTable dt) where T : class, new() { //判断data…
/// <summary> /// DataTable转换成实体列表 /// </summary> /// <typeparam name="T">实体 T </typeparam> /// <param name="table">datatable</param> /// <returns></returns> public static IList<T>…
/// <summary> /// 扩展方法类 /// </summary> public static class CommonExtension { /// <summary> /// 数据类型对应转换方法字典 /// </summary> static Dictionary<Type, Func<object, object>> dic_convert = new Dictionary<Type, Func<obje…
坤哥见我昨天找了一段代码,如下面: 略微解释下,这段代码时D层查询结束后,将datatable查询到的结果赋值给实体对象的属性,然后返回实体的过程.坤哥看了之后问我,假设实体有500多个属性,难道也要这样一条一条的写吗?假设返回多个实体时怎么办?这时,我才意识到自己的代码时非常有问题的.原来设计的是每一个方法最多返回一个实体,可是当遇到查询到多条记录的时候,就又冒着破坏三层结构的事返回Datatable去了,真的是非常有问题啊. 怎么改.我脑海中一下子就浮现了老办法:数组+循环,用循环读条读取列…
public static List<T> GetModelFromDB<T>( DataTable dt ) { List<T> data = new List<T>(); foreach (DataRow row in dt.Rows) { T item = GetItem<T>(row); data.Add(item); } return data; } /// <summary> /// 将DataRow转换成实体对象 ///…
转自:http://www.cnblogs.com/zzyyll2/archive/2010/07/20/1781649.html dataset和实体类 之间的转换 //dataset转实体类  代码 public static IList<T> FillModel(DataSet ds)  {  List<T> l = new List<T>();  T model = default(T); if (ds.Tables[0].Columns[0].ColumnNa…
public static class DataTableToEntity { /// <summary> /// 将DataTable数据源转换成实体类 /// </summary> public static List<T> ConvertToModel<T>(this DataTable dt) where T : new() { List<T> ts = new List<T>();// 定义集合 foreach (DataR…
在日常搬砖中,总结了一些简单的扩展方法. public static bool IsNullOrEmpty(this DataTable dt) { ; } public static bool IsNotEmpty(this DataTable dt) { return dt.IsNullOrEmpty() == false; } #region DataTable Extension /// <summary> /// 获取字符串 /// </summary> /// <…