C# datatable 转成 实体list
时间: 2023-07-19 16:42:10 浏览: 119
网络功能和网络功能原理服务发现和选择-c#操作datatable方法实现过滤、取前n条数据及获取指定列数据列表的方法
可以使用 LINQ to DataSet 来将 DataTable 转换为实体列表。以下是一个示例代码:
```csharp
using System.Data;
using System.Linq;
public class Person {
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
public static class DataTableExtensions {
public static List<Person> ToPersonList(this DataTable dataTable)
{
return dataTable.AsEnumerable()
.Select(row => new Person {
Id = row.Field<int>("Id"),
Name = row.Field<string>("Name"),
Age = row.Field<int>("Age")
})
.ToList();
}
}
```
在上面的代码中,我们定义了一个 `Person` 类来表示实体,然后定义了一个扩展方法 `ToPersonList`,该方法将 DataTable 转换为 Person 对象的列表。使用 LINQ to DataSet,我们可以轻松地将 DataTable 的每一行转换为一个 Person 对象,并将其添加到列表中。
使用方法如下:
```csharp
var dataTable = new DataTable();
// 假设 DataTable 中有 Id、Name、Age 三列数据
var personList = dataTable.ToPersonList();
```
这样就可以将 DataTable 转换为 Person 对象的列表了。
阅读全文