我有一个返回DataTable
的web服务,但我想返回一个列表。是否有一种方法可以直接从SQL返回列表,或者我必须将其返回为DataTable
,然后将其转换为列表?
您要做的是将DataTable中的每一行转换为一个对象。
这里有一篇很好的博客文章,展示了一个帮助类:将自定义集合转换为数据表
这个想法是你循环遍历所有的行,然后使用反射来创建对象。您可以通过将每个列名映射到相应的属性名来实现这一点。
你也可以使用Linq to DataSet对你的DataTable运行Linq查询。在Linq中,您可以使用投影将数据转换为新类型。
以下是一些示例:查询表达式语法示例:投影(LINQ to DataSet)