c# - 将 DataTable 转换为 List<Entity> (ProjectDracula)

标签 c# entity-framework model-view-controller

我需要一个静态方法来将数据表(动态)转换为列表(再次是动态实体) 这是我的代码 帮助将不胜感激

        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/

关于c# - 将 DataTable 转换为 List<Entity> (ProjectDracula),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33515552/

相关文章:

c# - 可以使用 EF 通过单个查询来查询我的案例吗? (实体的条件和嵌套实体的条件)

c# - 在服务器上处理的小型 API 调用与存储在内存中的一次大型数据提取

c# - 平铺对象位置与 MonoGame 位置不匹配

搜索 mvc 保持同一页面

c# - 如何使用 ITextSharp 和 C# Blazor 下载编辑后的 ​​PDF

c# - 在删除属性之前,必须删除或重新定义所有包含的外键 - EF Core

c# - ASP.Net MVC TryUpdateModel() 等效于在 Windows 应用程序中使用

c# - 每当我更新 edmx 文件时,它都会更改 model1.context.cs 的类名

java - 从动态模型生成 View

asp.net-mvc-3 - ASP.NET MVC 3 中 ModelState.IsValid 的限制