Webservice返回列表

时间:2012-12-21 11:16:41

标签: linq web-services list linq-to-sql

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

以下是一些示例:Query Expression Syntax Examples: Projection (LINQ to DataSet)