Сериализация данных SQL CE в XML - PullRequest
2 голосов
/ 16 сентября 2008

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

Я надеялся воспользоваться встроенной сериализацией на основе XML в .net, как в DataTable.WriteXML. Но ни один из методов выполнения запросов к SqlCeCommand не обеспечивает очевидного способа сериализации в XML или извлечения DataTable, который мог бы обеспечить метод.

Есть ли что-то, что я пропускаю? Должен ли я написать свои собственные методы сериализации-десериализации или есть встроенный способ.

Ответы [ 3 ]

4 голосов
/ 16 сентября 2008

Предполагая, что cmd является вашим SqlCeCommand ....

using(var dr = cmd.ExecuteReader())
{
   DataSet ds = new DataSet();
   DataTable dt = ds.Tables.Add();
   dt.Load(dr);
   ds.WriteXML(...);
}
1 голос
/ 16 сентября 2008

Вы хотите создать SqlCeDataAdapter и использовать его .Fill() набор данных. Затем сериализуйте весь набор данных с помощью метода .WriteXml().

0 голосов
/ 16 сентября 2008

Я думаю, что вы можете извлечь данные в DataSet, вызвать для него WriteXML, а затем на другом конце объявить новый DataSet и вызвать для него ReadXML.

...