我有一个返回的网络服务DataTable
,但我想返回一个列表而不是它。有没有办法直接从 SQL 返回列表,或者我必须将其作为 a 返回DataTable
,然后将其转换为列表?
问问题
141 次
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 回答