将 DataTable 转换为 List<Entity>(德古拉计划) [英] converting DataTable to List&lt;Entity&gt; (ProjectDracula)

查看:19
本文介绍了将 DataTable 转换为 List<Entity>(德古拉计划)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要一个静态方法将数据表(动态)转换为列表(又是动态实体)这是我的代码将得到帮助

I need a static method to convert DataTables(dynamic) to List(again dynamic Entity) here is my code help would be appereciated

        public static ICollection<System.Data.Entity.Core.Objects.DataClasses.EntityObject> DtToEntity(DataTable DataTable,System.Data.Entity.Core.Objects.DataClasses.EntityObject EntityObject)
    {
        ICollection<System.Data.Entity.Core.Objects.DataClasses.EntityObject> _list = null;
        System.Data.Entity.Core.Objects.DataClasses.EntityObject _tempClass;
        foreach (DataRow dataRow in DataTable.Rows)
        {
            foreach(DataColumn dataColumn in DataTable.Columns)
            {
                foreach (var attribute in EntityObject.GetType().GetProperties())
                {
                    if (attribute.Name == dataColumn.ColumnName && attribute.GetType().Equals(dataColumn.GetType()))
                    {
                        return _list;
                    }
                }
            }


        }

推荐答案

private static List<T> ConvertDataTable<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;  
}

private static T GetItem<T>(DataRow dr)  
{  
    Type temp = typeof(T);  
    T obj = Activator.CreateInstance<T>();  

    foreach (DataColumn column in dr.Table.Columns)  
    {  
        foreach (PropertyInfo pro in temp.GetProperties())  
        {  
            if (pro.Name == column.ColumnName)  
                pro.SetValue(obj, dr[column.ColumnName], null);  
            else  
                continue;  
        }  
    }  
    return obj;  
} 

用法:

List< Student > studentDetails = new List<Student>();  
studentDetails = ConvertDataTable<Student>(dt);

来源:http:///www.c-sharpcorner.com/UploadFile/ee01e6/different-way-to-convert-datatable-to-list/

这篇关于将 DataTable 转换为 List<Entity>(德古拉计划)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆