0

我的主管的印象是,可以在 MySql 数据库上运行对存储的 xml 文档运行 xPath 查询的查询。

我关心的表称为 Responses 并具有以下列

    UserId, UploadTime, RawXml

我已经通过以下方式获得了特定用户的所有回复

     public ActionResult UserResponses(Guid userid)
     {
        var allResponses = ZodiacData.Responses;
        var userResponses = (from r in allResponses
                        where r.UserId == userid
                        select r)
        //...populate model here....
         return PartialView("_responseTable", responsesmodel)
     }

但是现在我正在尝试获取对 RawXml 根节点中引用的特定调查表的所有响应(通过 qid 和 qver,请参见下面的示例)根节点:

     <response qid="5" qver="3" date="..-..-.." qname="full"> 

有谁知道我如何在 asp.net 中做到这一点,我应该在上面的函数中添加什么到查询中?任何帮助都会很棒,即使只是指向正确类型的在线文章的指针。谢谢!

4

1 回答 1

2

是的,可以对数据库中的 XML 数据运行 XPath 查询,但您不能为此使用 EF,因为 EF 不支持。如果要在数据库查询中使用 XPath,则必须直接编写 SQL。

.NET 4.5 应该会稍微改变这一点,因为您将能够映射表值 SQL 函数并将 XPath 查询隐藏在该函数中。

于 2012-08-08T15:42:23.117 回答