如何将DataView、DataRowView转换为泛型类型列表

本文关键字:转换 泛型类型 列表 DataRowView DataView | 更新日期: 2023-09-27 17:58:34

除了循环,还有其他可能的方法吗?枚举ICollection以将它们分别转换为已知ICollection中列的Typed List。我使用的是.net Framework 2.0,C#2.0。预期的答案是这样的,一个单行

List<Bills> bills = GetBills(DataView/DataRowView/ICollection);

其中CCD_ 2类型将具有CCD_ 3作为属性。DataRowView/DataView将具有相应的列,其中包含记录。有没有一种工厂建造的方法可以完成这项工作?如果没有任何一个班轮来做这件事?

如何将DataView、DataRowView转换为泛型类型列表

你能用带lambda的LINQ Select在一行中完成吗?沿着这些路线。。。。

List<Bills> bills = yourDataView.Rows.Select(t => new Bills() {BillNumber = t["BillNumber"], BillDate = t["BillDate"], BilledTo = t["BilledTo"]}).ToList();

使用Linq-Select将DataView行转换为对象列表:

DataView yourDataView;
List<Bills> bills = yourDataView.ToTable().Rows.Cast<DataRow>()
                    .Select(r => new Bills() 
                    { 
                        BillNumber = r.Field<int>("BillNumber"), 
                        BillDate = r.Field<DateTime>("BillDate"), 
                        BilledTo = r["BilledTo"].ToString()                 
                    }).ToList();