Сериализация данных SQL CE в XML
-
09-06-2019 - |
Вопрос
Я работаю над функцией продукта, которая позволит пользователю экспортировать данные из базы данных SQL CE в одной копии моего приложения и повторно импортировать их в SQL CE на другом конце.Эти данные представляют собой не целые таблицы, а результат выполнения запросов.
Я надеялся воспользоваться встроенной в .net сериализацией на основе XML, как в DataTable.WriteXml.Но ни один из методов для выполнения запросов к SqlCeCommand не предоставляет очевидного способа сериализации в XML или извлечения DataTable, который мог бы предоставить этот метод.
Есть ли что-то, чего я не понимаю?Должен ли я писать свои собственные методы сериализации-десериализации или есть встроенный способ?
Решение
Предполагая, что cmd - это ваша SqlCeCommand....
using(var dr = cmd.ExecuteReader())
{
DataSet ds = new DataSet();
DataTable dt = ds.Tables.Add();
dt.Load(dr);
ds.WriteXML(...);
}
Другие советы
Вы хотите создать SqlCeDataAdapter
и используй это .Fill()
набор данных.Затем сериализуйте весь набор данных с помощью .WriteXml()
способ.
Я бы подумал, что вы могли бы извлечь данные в DataSet , вызвать для них WriteXml, а затем на другом конце объявить новый DataSet и вызвать для него ReadXml .