Сериализовать объект Entity Framework с дочерними элементами в файл XML

Я запрашиваю данные с родительскими / дочерними наборами результатов с помощью Entity Framework и хочу экспортировать эти данные в документ XML.

var agreement = storeops.Agreements.SingleOrDefault(a => a.AgreementNumber == AgreementTextBox.Text);
XmlSerializer serializer = new XmlSerializer(agreement.GetType());
XmlWriter writer = XmlWriter.Create("Agreement.xml");
serializer.Serialize(writer, agreement);

Это работает хорошо, за исключением того, что он сериализует только родительский элемент без включения связанных дочерних записей в XML. Как я могу заставить дочерние элементы также сериализоваться?

Я также пытался использовать сгенерированный код POCO, и дочерние коллекции пытаются сериализовать, за исключением представляют собой ICollections, которые не могут быть сериализованы.

Невозможно сериализовать элементы DataSnapshots.Agreement.AgreementItems типа System.Collections.Generic.ICollection`1 [[DataSnapshots.AgreementItem, DataSnapshots, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null]], потому что это интерфейс.

5
задан Brett Mathe 5 June 2011 в 15:55
поделиться