LINQ:要列出的数据表 [重复]
Posted
技术标签:
【中文标题】LINQ:要列出的数据表 [重复]【英文标题】:LINQ: DataTable to List [duplicate] 【发布时间】:2014-01-09 02:41:35 【问题描述】:如何实现下面的数据表到通用列表的转换?
我正在尝试这个:
List<Emp> lstEmp= new List<Emp>(from prod in MyDatatable.AsEnumerable<Emp>() select prod);
【问题讨论】:
How do you convert a DataTable into a generic list? @huMptyduMpty:但 Jon Skeets 的回答没有回答这个问题。 OP 想要从DataRow
初始化一个自定义类并创建一个 List
。
@TimSchmelter:不是 Jons 的答案……还有其他答案可以做到这一点!
【参考方案1】:
var empList = MyDatatable.AsEnumerable().Select( row =>
new Emp
Name= row.Field<string>("Name") // set the properties accordingly
).ToList();
【讨论】:
我不想这样做:Name= row["Name"].ToString()..直接转换的任何可能性? @user2519971 检查我的更新,谢谢蒂姆【参考方案2】:试试这个,
List<Emp> target = dt.AsEnumerable()
.Select(row => new Emp
Name = row.Field<string>("Name")
).ToList();
【讨论】:
实际上是否真的需要指定每个字段。如果 LINQ 可以做到这一点,我想跳过这个。只是为了避免每个字段都这样做: Name= row.Field以上是关于LINQ:要列出的数据表 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 group by 和 order by LINQ DataTable 以删除重复数据