Преобразование списка LINQ в XML в архитектуре Asp.net MVC - PullRequest
0 голосов
/ 05 сентября 2011

У меня есть список в LINQtoSQL, и он имеет различные связи в таблицах, и теперь я хочу преобразовать этот список в XML.

Я использую этот код

new XmlSerializer(typeof(T), IncludedTypes).Serialize(xmlWriter, this.Data);

, где это.Данные имеют данные списка.

, но выдает ошибку

Произошла ошибка при создании документа XML.

, поскольку наши таблицы связаны сдруг с другом и в нашем списке он также поддерживает все таблицы отношений

Теперь, как преобразовать список в XML?

Ответы [ 2 ]

0 голосов
/ 05 сентября 2011

Gaurav,

Исходя из комментариев в вашем вопросе о внутреннем исключении:

A circular reference was detected while serializing an object of 
type abc.Core.Model.Channel

Я бы посоветовал вам украсить ЛЮБЫЕ родительские объекты [ScriptIgnore] или [XmlIgnore]приписывать.Это предотвратит действие циклических ссылок при сохранении xml.Проблема связана с тем, что родительский объект в свою очередь снова ссылается на дочерний объект.эта ссылка продолжается до бесконечности (и далее :)) и никогда не разрешится, если вы не укажете, что не хотите сериализовать родительские объекты.

0 голосов
/ 05 сентября 2011

circular reference was detected while serializing an object of type abc.Core.Model.Channel означает, что Channel объект имеет свойство, относящееся к другому объекту, а этот объект имеет свойство, относящееся к Channel объекту.

, например,

Class Parent
{
   public Child Child
   {
       get;
       set;
   }
}
Class Child
{
   public Parent Parent
   {
       get;
       set;
   }
}

Когдасериализация Parent.Child она будет сериализовать Child.Parent, поэтому она снова сериализует Parent.Child и т. д.

, чтобы решить эту проблему, проверьте эту запись

...