Ich arbeite gerade an einer kleinen Webanwendung mit Visual Studio 2008 Express. Ich versuche, ein XML-Dokument von einem Server mithilfe einer Clientbibliothek abzurufen und das Dokument dann in einer Datenbankspalte (mit Linq) zu speichern. Die Datenbankspalte hat den Datentyp xml
. Leider war ich bei meinen ersten Versuchen nicht erfolgreich.Kann XmlDocument nicht in einer Tabellenspalte mit dem Datentyp 'xml' speichern
Unter der Annahme, dass ich schon einen Verweis auf das Datenkontextobjekt erhalten, hier ist es, die Grundlagen dessen, was es ist, dass ich zu tun habe versucht:
// using a client library, requestthe XML document from the server
XmlDocument oXmlDoc = oClient.GetDataAsXML();
InformationLog oLog = new InformationLog();
oLog.InfoXML = oXmlDoc.InnerXml; // this is where the problem occurs
dbContext.InformationLogs.InsertOnSubmit(oLog);
dbContext.SubmitChanges();
Insbesondere ist der Fehler, den ich bekommen ist:
Ich bin neu in ASP.NET MVC und Linq, so weiß ich, dass ich etwas vermisse. Zusätzlich zu der Antwort bin ich auch neugierig auf warum ist es unmöglich, einfach speichern die XML wie es ist ohne zusätzliche Verarbeitung.
Was ist das Problem, das Sie sehen? Haben Sie versucht, InnerXml zu betrachten, um sicherzustellen, dass es ein gültiges Dokument ist und dass dieser Text in SQL gespeichert werden kann? Ich hätte Outerxml anstelle von InnerXml verwendet. –