Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > Visual Studio中的XQuery支持
【标  题】:Visual Studio中的XQuery支持
【关键字】:Visual,Studio,XQuery
【来  源】:http://blog.csdn.net/mschina/archive/2007/03/05/1521210.aspx

Visual Studio中的XQuery支持

Your Ad Here
    今天Simon转发了一封咨询VS2005中各个版本对XQuery支持情况的邮件。由于从2002年到去年底一直在用,所以直接凭直觉认定各个版本都支持,事实证明冲动是魔鬼经验是巫师,以后还是考证清楚再回复,以免误导他人。
他的问题是:
1. vs2005哪种版本支持XQuery,哪些版本不支持XQuery。
2. 在c# 项目中using System.Xml.Query;using System.Data.SqlXml总是失败,错误:Error 1 The type or namespace name 'SqlXml' does not exist in the namespace 'System.Data' (are you missing an assembly reference?)。在工程中添加了 System.Data.SqlXml.dll 但是总是出现这样的错误。
 
我当时的回答是:
第一个问题不太清楚,我用过的VS2005版本(VS2005 Beta/VSTS/VSTD/VS Professional)都支持,基于.NET Compact Framework的不支持。
第二个问题我以前碰到过两次,一次是在VS Beta时,原来Internal程序集和System.Data中都有同名类,后来微软把这问题在后来的版本中fix了。去年在sqlserver2005的IDE中写C#也遇到了,后来使用CREATE ASSEMBLY 解决了,参见
http://msdn2.microsoft.com/zh-cn/library/ms189524.aspx
不知道用户遇到的和我遇到的环境是否一样。

    后来中午有空做了几个小实验,发现事实情况和我经验直觉并不相同,原来之所以感觉各个版本都支持,其实是因为SQLServer支持而不是VS支持,所以,更加接近truth的答案应该是:

    XQuery的支持在VS2005RTM中没有,我以前用到的都是因为靠SQL Server解析所以适用。SQL Server2005中对XQuery的支持是基于SQL CLR运行时的,所以在VS2005开发时即使引入相关dll也没有用,微软在.NET FX 2.0 RTM中没有XQuery支持,如果用户用.NET FX1.2或2.0beta,可以在System.Xml.Query或MS.Internal.Xml.Xquery或System.Data.SqlXml中调用XQuery,但该结果与目前W3C规定可能不太一样。目前的计划是在LINQ中将加入标准XQuery支持。
    如果用户要在VS2005中做类似XQuery的查询,可以暂时用XSLT与XPath替代。当然如果后台是SQL Server2005数据库,直接用普通的sqlcommand将xquery命令提交到数据库引擎即可,注意这是由SQL Server2005的XQuery解析的,与VS无关,该解析将按照SQL Server2005发布时最新的W3C标准。

    关于最新的W3C标准,参见:http://www.w3.org/TR/xpath-datamodel/
    关于XQuery的VS各个版本详细支持情况,请参阅:
    http://oakleafblog.blogspot.com/2005/09/language-integrated-query-linq-project.html

    所以第一个问题应该是VS2005RTM版本都不支持

    第二个问题如果他用的是VS2003下.NET FX1.1,让用户代用MS.Internal下面的那个类试试;如果用的是.NET FX 1.2或2.0Beta,让用户在后台数据库中执行Create Assembly T-SQL语句;如果是.NET FX 2.0RTM,System.Xml.Query与System.Data.SqlXml已经不被支持,使用XPath或XSLT或将XQuery提交到SQL Server去执行解析;如果是Orcas,代用DLINQ查询。

    考虑到问Simon问题的人可能不会用Cω语言,所以就没向他提及,参见http://msdn2.microsoft.com/en-us/library/ms974195.aspx,否则这个应该是最好的选择了:)

 



 
从Vc++2003到Vc++2005:【上一篇】
Windows Workflow Foundation: Tracking Services Deep Dive:【下一篇】
【相关文章】
  • 用UEStudio写C++程序
  • 中国IT实验室--Visual C++编程电子书专题下载
  • Visual C++的未来
  • Download Visual Studio Orcas March CTP
  • visual c++得到系统所有进程
  • visual studio 2005 模板丢失解决方法!(令人崩溃~)
  • VisualBasic.Net 2003实现NTFS文件附加数据流的读写类
  • Visual Studio 2005 TFVC周年庆
  • Getting Started With LINQ in Visual Basic (翻译 + 评论)
  • Visual Studio .NET 无法创建或打开应用程序。问题很可能是因为本地WEB本地服务器上没有安装所需的组件。请...
  • 【随机文章】
  • E4500升级firmware
  • FileMaker数据导出到Sql Server
  • 开发者发行版: Damn Small Linux 3.1 RC4
  • Ellison:Oracle将在技术圈地中胜出
  • 历法函数库
  • IDS(入侵检测系统)术语
  • 传奇世界 35裁决升法
  • 终于考完华为的认证了
  • 比较两个文件
  • 为什么是ruby on rails
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.