前言,此方法利用反射将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