在不使用数据传输对象的情况下从WCF检索数据表的最佳方法是什么

时间:2014-02-05 01:11:12

标签: c# wcf silverlight-4.0

我是WCF的新手,根据我的研究,我理解从WCF服务返回数据集或数据表并不是一件好事。我也明白,最好的方法是将数据转换为DTO,然后将其传递给客户端。

我面临的问题是我需要创建一些可以包含不同列数的报表,我只想在我的Web服务中创建一个方法,以根据将作为参数提供的查询名称检索数据。这使我很难创建一个对象类并将其映射到我的数据表,因为每个报告的列数/类型都不同。

实现这一目标的最佳方法是什么?我已经浏览了很多博客,但仍然没有找到一个好方法。

编辑:我尝试返回一个数据表并得到一些错误,这些错误引导我进入博客,解释了为什么数据集/数据表不适合在webservices中返回数据。

1 个答案:

答案 0 :(得分:1)

不确定“最佳方式”,但您可以尝试从WCF返回xml文件/ xml字符串而不是DataTable。使用DataTable.WriteXmlDataTable转换为xml,之后服务使用者可以使用DataTable.ReadXml将xml转换回DataTable