如何将强类型DataTable转换为无类型DataTable

时间:2016-04-21 23:51:32

标签: c# wcf datatable ado.net

我尝试将强类型DataTable发送到WCF服务,该服务期望具有相同数据的无类型DataTable。

但是,我收到错误,因为序列化程序不知道如何处理额外的属性。

如何将强类型DataTable转换为无类型的等效文件?

1 个答案:

答案 0 :(得分:3)

注意:有关强类型与非类型化数据集的基本说明,请查看here

这可以通过简单的合并命令来完成,如下所示:

// convert stringly typed DataTable "data" to a loosely-typed version of itself
var data_untyped = new DataTable(data.TableName, data.Namespace);
data_untyped.Merge(data);

第一行(非注释)行创建新的DataTable,复制TableName和Namespace。

最后一行复制数据,包括列定义。