如何使用Subsonic从XML字段中提取属性?

时间:2011-04-19 18:15:14

标签: c# .net xml subsonic

我有一个像这样的SQL查询:

SELECT      
     myXmlField.value('(./row/@myAttribute)[1]', 'nVarchar(max)') as myAttribute
FROM myTABLE
   Where myID = 640

SQL查询工作正常,但现在,如何从MS SQL Server中的XML字段中提取属性,使用Subsonic?

我正在使用Visual Studio 2005,.net 2.0,C#和SubSonic 2.1。

非常感谢。

2 个答案:

答案 0 :(得分:1)

这远远超出亚音速或我能想到的任何其他ORM - 从XML列中选择是一个非常特定于数据库服务器的问题。

最好的办法是创建一个执行该SQL的存储过程,然后让亚音速调用它。

答案 1 :(得分:0)

嗯...我解决了它加载XML字段的值,subsonic将其作为字符串返回到XmlDocument对象中。

System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml(MyTable.myXmlField); //MyTable entitie created by subsonic.
doc.SelectSingleNode("./row/@myAttribute").Value //Here I get the attribute from the XML field.

还有其他办法吗?