使用额外列序列化强类型数据集

时间:2011-05-09 11:12:20

标签: wcf serialization dataset strongly-typed-dataset

我有一个带有强类型数据表的强类型数据集,我将其传递给我的wcf服务。我在这个表上添加了一个额外的列运行时,它不在xsd。

当我在服务器端调试时,wcf操作接收数据集和数据表,但额外的列及其值不再是它的一部分。

我认为它与数据集的序列化有关,但如何在不强烈键入列的情况下解决此问题?

提前致谢

1 个答案:

答案 0 :(得分:1)

序列化是将内存中的某个对象转换为XML的过程,反序列化将该XML转换为对象。在这种情况下,该对象的结构由强类型数据集决定。

您已经在客户端向对象添加了新内容,但是您没有告诉服务器端如何处理这些内容,因此当反序列化XML时,额外的内容会被丢弃。

由于您不想强烈键入其他数据,因此可以从类型化数据表(foo)派生新类(bar)并将元素添加到其中,并使其可序列化,然后在服务器上您反序列化,反序列化到派生类。由于派生类栏定义为foo,因此数据集应该接受它用于数据操作,但您仍然可以将新元素用作条形码。