2011-05-09 61 views
0

我有一個強類型數據表中,我傳遞給我WCF服務一個強類型數據集。我在這張表上添加了一個不在xsd中的額外列運行時間。序列化強類型數據集與額外的列

當我在服務器端調試WCF操作接收數據集和數據表,但額外的列,它的價值不是它的一部分了。

我認爲這是與數據集的序列化,但我怎麼能解決這個問題,而強類型的列?

由於事先

+0

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

回答

1

序列化是將一些對象在內存中成XML和反序列化的過程採用的是XML和把它回對象。在這種情況下,該對象的結構由強類型數據集規定。

您已經將新東西添加到客戶端的對象上,但您尚未告知服務器端該如何處理該東西,因此當XML被反序列化時,額外的東西就會被拋棄。

既然你不想強類型的額外的數據,你可以從你的類型化數據表(foo)派生一個新的類(欄),並添加到它的元素,並使其可序列化,然後在服務器上當你反序列化時,反序列化你的派生類。由於派生類欄是按照定義foo定義的,因此數據集應該接受它用於數據操作,但是您仍然可以使用新元素作爲欄。