2011-05-09 58 views
0

我有一个强类型数据表中,我传递给我WCF服务一个强类型数据集。我在这张表上添加了一个不在xsd中的额外列运行时间。序列化强类型数据集与额外的列

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

我认为这是与数据集的序列化,但我怎么能解决这个问题,而强类型的列?

由于事先

+0

这是不可能的 – Martin 2011-05-20 09:50:02

回答

1

序列化是将一些对象在内存中成XML和反序列化的过程采用的是XML和把它回对象。在这种情况下,该对象的结构由强类型数据集规定。

您已经将新东西添加到客户端的对象上,但您尚未告知服务器端该如何处理该东西,因此当XML被反序列化时,额外的东西就会被抛弃。

既然你不想强类型的额外的数据,你可以从你的类型化数据表(foo)派生一个新的类(栏),并添加到它的元素,并使其可序列化,然后在服务器上当你反序列化时,反序列化你的派生类。由于派生类栏是按照定义foo定义的,因此数据集应该接受它用于数据操作,但是您仍然可以使用新元素作为栏。