Я работаю над функцией продукта, которая позволит пользователю экспортировать данные из базы данных SQL CE на одной копии моего приложения и повторно импортировать их в SQL CE на другом конце. Это данные не целые таблицы, а результат запросов.
Я надеялся воспользоваться преимуществами встроенной в .NET сериализации на основе XML, как в DataTable.WriteXML. Но ни один из методов выполнения запросов к SqlCeCommand не предоставляет очевидного способа сериализации в XML или извлечения DataTable, который мог бы предоставить метод.
Что-то мне не хватает? Должен ли я писать свои собственные методы сериализации-десериализации или есть встроенный способ.





Я бы подумал, что вы можете получить данные в DataSet, вызвать для него WriteXML, а затем на другом конце объявить новый DataSet и вызвать для него ReadXML.
Вы хотите создать SqlCeDataAdapter и использовать его как набор данных .Fill(). Затем сериализуйте весь набор данных с помощью метода .WriteXml().
Предполагая, что cmd - это ваш SqlCeCommand ....
using(var dr = cmd.ExecuteReader())
{
DataSet ds = new DataSet();
DataTable dt = ds.Tables.Add();
dt.Load(dr);
ds.WriteXML(...);
}