带有XML字段的SQL数据库,使用LINQ根据XElement进行选择

时间:2010-01-21 11:03:04

标签: c# xml linq linq-to-sql

我在SQL数据库中有一个表,其中表配置对应于

ID
Name string
data xml

数据字段可能(但不一定)包含后代元素

<config>Some value...</config>

使用LINQ我想选择所有包含数据xml元素的行,其中包含值为...的配置元素。比如说。

我的做法类似于:

var query = from x in db
            from y in x.data.descendants("config")
            where y.Value == "17"
            select x;

但是这引发了一个关于Value无效的例外。

我该如何制定此查询?

问候,卡斯帕

1 个答案:

答案 0 :(得分:1)

我很确定Linq 2 SQL不支持您要执行的操作。您可能需要编写自定义SQL语句或使用用户定义的函数,如此SO问题的解决方案中所述:Can LINQ to SQL query an XML field DB-serverside?