У меня есть очень простое приложение, которое в настоящее время имеет один класс Linq to Sql, основанный на одной таблице.
Мне нужно сериализовать (в XML) все строки таблицы, используя DataContext для класса Linq To Sql.
Как мне это сделать?
Это мой текущий код:
var db = new MyEntityDataContext();
Stream fs = new FileStream("Output.xml", FileMode.Create);
XmlWriter writer = new XmlTextWriter(fs, Encoding.Unicode);
serializer = new XmlSerializer(typeof(MyEntity));
foreach (var row in db.MyEntitys)
{
// Serialize object to XML
serializer.Serialize(writer,row);
}
writer.Close();
Однако он выдает следующее исключение:
"Token StartElement in state Epilog would result in an invalid XML document."
Я также пробовал:
XmlSerializer serializer2 = new XmlSerializer(db.MyEntitys.GetType());
но это бросает
"To be XML serializable, types which inherit from IEnumerable must have an implementation of Add(System.Object) at all levels of their inheritance hierarchy."
исключение.