我正在試圖連載從我的LINQ to SQL查詢的一些對象到XML如下:序列化的LINQ to SQL結果作爲XML
MyDataContext mdc= new MyDataContext();
var local_copy_of_items = md.MyItemsTables.Where(c=>c.CityId==35).Distinct().ToList();
local_copy_of_items.SerializeToXml(Filename);
其中SerializeToXml
:
public static void SerializeToXml<T>(this T obj, string fileName)
{
System.Xml.Serialization.XmlSerializer ser = new System.Xml.Serialization.XmlSerializer(typeof(T));
FileStream fileStream = new FileStream(fileName, FileMode.Create);
ser.Serialize(fileStream, obj);
fileStream.Close();
}
例外:
Exception information:
Exception type: InvalidOperationException
Exception message: There was an error generating the XML document.
at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
at System.Xml.Serialization.XmlSerializer.Serialize(Stream stream, Object o, XmlSerializerNamespaces namespaces)
at System.Xml.Serialization.XmlSerializer.Serialize(Stream stream, Object o)
at .....Extensions.SerializeToXml[T](T obj, String fileName)
此代碼失敗,發生InvalidOperationException。有人可以建議一個更好/正確的方式來實現這一目標?
更新:內部異常說: 而序列化類型的對象時檢測到循環引用
它編譯? –
是的。我只有一個運行時錯誤.... –
哪一行失敗? –