0

我有一个返回的网络服务DataTable,但我想返回一个列表而不是它。有没有办法直接从 SQL 返回列表,或者我必须将其作为 a 返回DataTable,然后将其转换为列表?

4

1 回答 1

1

您要做的是将 DataTable 中的每一行转换为一个对象。

这是一篇不错的博客文章,其中显示了一个帮助类:Converting Custom Collections To and From DataTable

这个想法是您循环遍历所有行,然后使用反射来创建对象。您可以通过将每个列名称映射到相应的属性名称来做到这一点。

您还可以使用 Linq to DataSet 对您的 DataTable 运行 Linq 查询。在 Linq 中,您可以使用 Projection 将数据转换为新类型。

以下是一些示例:查询表达式语法示例:投影 (LINQ to DataSet)

于 2012-12-21T11:27:10.283 回答