В настоящее время я работаю над небольшим веб-приложением, используя Visual Studio 2008 Express. Я пытаюсь извлечь XML-документ с сервера с помощью клиентской библиотеки, а затем сохранить документ в столбце базы данных (используя Linq). В столбце базы данных указан тип данных, указанный как xml
. К сожалению, во время моих первых попыток я не увенчался успехом.Невозможно сохранить XmlDocument в столбце таблицы с типом данных «xml»
Предполагая, что я уже получил ссылку на объект контекста данных, здесь основы того, что это то, что я пытаюсь сделать:
// 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();
В частности, ошибка, я получаю:
Cannot implicitly convert type 'System.Xml.XmlNode' to 'System.Xml.Linq.XElement'
Я новичок в ASP.NET MVC и Linq, поэтому я знаю, что чего-то не хватает. В дополнение к ответу, мне также интересно, как почему невозможно просто сохранить XML как есть без какой-либо дополнительной обработки.
В чем проблема, которую вы видите? Вы пытались взглянуть на InnerXml, чтобы убедиться, что это действительный документ и что этот текст может быть сохранен в SQL? Я бы использовал Outerxml, а не InnerXml. –