我试图从我的SQL数据库中获取XMl,使用CAST
查询。
这就是我试图让它发挥作用的方式:
string str = db.Database.SqlQuery<string>("SELECT CAST(CAST(Content AS VARBINARY(MAX)) AS XML) AS DashboardXML FROM ReportServer$SRVSQL2012.dbo.Catalog WHERE Name = 'DannyTest.xml'").FirstOrDefault<string>();
但是,由于所有<
和>
被<
和>
取代,这并不是真的有效。
如何使用纯LINQ完成此类任务?它甚至可以完成吗?
修改
我甚至不确定这是服务问题还是实际取代<
和>
的内容?
结果示例
<Dashboard CurrencyCulture="da-DK">
应该是
<Dashboard CurrencyCulture="da-DK">
答案 0 :(得分:0)
<强>解决强>
由于LINQ语句的输出是一个字符串,而不是使用XElement.load("whatever")
我使用XElement.Parse("whatever")
。
像这样:
XElement xelement = XElement.Parse(
db.Database.SqlQuery<string>(
"SELECT CAST(CAST(Content AS VARBINARY(MAX)) AS XML)
AS DashboardXML FROM ReportServer$SRVSQL2012.dbo.Catalog WHERE Name = 'DannyTest.xml'")
.FirstOrDefault<string>());
这样,字符串就可以正确转换为可读的XML