前言,此方法利用反射将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
public static T ConvertToModel<T>(DataRow dr) where T : new() { T t = new T(); Type modelType = t.GetType(); foreach (PropertyInfo pi in modelType.GetProperties()) { if (pi == null) continue; if (pi.CanWrite == false) continue; if (dr.Table.Columns.
虽然大数据量的环境下,通过反射转换DataRow为对象性能会很低,但是在数据量适中的时候,这样能够减少很多的代码量,性能也确实不错. 所以在数据量不是很大的情况下,推荐使用. 如果数据量很大,可以使用Emit来提高性能,最近也在研究它,网上也有很多这方面的资料. 我定义了一个DataRow的扩张方法,如下: using System; using System.Data; using System.Reflection; namespace YCG.FCL.Common.ExtensionMet
译文出处:http://www.codeproject.com/Tips/867866/Extension-Method-for-Generic-List-Collection-to-Da 这段代码是能够帮助你把泛型集合List转出成DataTable的扩展方法. 背景: 不知道你是否知道这个扩展方法,但是你可以不做任何修改的去使用下面这个类的代码. 使用代码: using System; using System.Collections.Generic; using System.Compon
public static IEnumerable<T> ConvertObject<T>(DataTable dt) where T : new() { var v = typeof(T).GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance); List<PropertyInfo> Fields = new List<Prope