Сериализация строго типизированного набора данных с дополнительным столбцом - PullRequest
0 голосов
/ 09 мая 2011

У меня есть строго типизированный набор данных со строго типизированным набором данных, который я передаю своей службе wcf. Я добавил дополнительный столбец времени выполнения для этой таблицы, которого нет в xsd.

Когда я отлаживаю на стороне сервера, операция wcf получает набор данных и данные, но дополнительный столбец и его значение больше не являются его частью.

Я думаю, что это как-то связано с сериализацией набора данных, но как я могу решить эту проблему без строгого ввода столбца?

заранее спасибо

1 Ответ

1 голос
/ 10 июня 2011

Сериализация - это процесс преобразования некоторого объекта в памяти в XML, а десериализация берет этот XML и превращает его обратно в объект.Структура этого объекта в этом случае определяется вашим строго типизированным набором данных.

Вы добавили новый объект в объект на стороне клиента, но вы не сказали серверной стороне, что делать сэти вещи, поэтому, когда XML десериализован, лишние вещи отбрасываются.

Поскольку вы не хотите строго вводить дополнительные данные, вы можете получить новый класс (bar) из таблицы типизированных данных(foo) и добавьте элемент к нему, сделайте его сериализуемым, а затем на сервере, когда вы десериализуетесь, десериализовайте в ваш производный класс.Поскольку производная строка классов IS по определению foo, набор данных должен принимать ее для операций с данными, но вы все равно можете работать со своим новым элементом как bar.

...