在Linq To SQL中使用XQuery?
-
03-07-2019 - |
题
假设我有一个包含XML类型数据列的表。在SQL中,我可以执行以下语句:
select top 10 *,
Content.value('(/root/item/value)[1]', 'float') as Value
from xmltabletest
where Content.value('(/root/item/MessageType)[1]', 'int') = 1
结果集仅包含与条件匹配的记录,并将XML中的值提取到名为“Value”的列中。好又简单。
使用Linq To SQL可以实现同样的目的吗?
我想让SQL做繁重的工作,只返回符合我标准的数据,而不必选择,传输,然后处理潜在的大量数据。据我所知,目前这是不可能的,但我想我应该问。
(环境是.NET 3.5,VS2008,SQL Server 2005,如果有帮助的话)
解决方案
我现在还不确定这是否已过时,但根据 Scott Guthrie XML数据类型是:
在LINQ to SQL中表示为字符串 实体。您可以使用XLINQ进行查询 在LINQ to中的XML列上 SQL权利 - 但这个查询会 发生在你的中间层(内部) ASP.NET)。您无法执行远程 XQuery针对数据库和过滤器 返回结果基于 第一次发布。
因此,在回答您的问题时,我会说“不。”
不隶属于 StackOverflow