>>51aspx首页 | >>Winform源码 | >>.Net源码大搜捕 | >>问题/帮助

Asp.net源码交流论坛

登录 注册
  • 标签
  • 会员
  • 搜索
  • 帮助

Asp.net源码交流论坛 » Asp.net交流讨论区 » Asp.net技术文章 » 将VS2005的项目转换到VS2008—使 LINQ能够使用

帖子标题
业务申请区
  • 实名认证申请
  • 免费.Net主机申请
  • 积分奖励申请
  • 有偿服务申请
Asp.net交流讨论区
  • Asp.net技术问答
  • .Net项目、服务交易区
  • .Net源码问答区
  • Asp.net技术文章
  • 常用工具下载
Asp.net资源发布区
  • [源码发布区]
  • [视频发布区]
  • [商业代码区]
  • [其他.net相关资源]
Asp.net专题讨论区
  • Ajax/Atlas无刷新技术
  • 面向对象开发
  • ADO.net讨论区
  • 控件专题讨论
源码环境搭建和部署视频! 源码使用常见问题 51Aspx自有服务产品 开业特惠 快速通道:[源码发布] | [实名认证]
1/1页1 跳转到页查看:3498
发新话题 回复该主题
键盘左右键可以进行前后翻页操作
帮助

将VS2005的项目转换到VS2008—使 LINQ能够使用

离线 51aspx
头像

51aspx

  • [超级管理员]
  • [2794]
  • 2068
  • 2007-05-17
源码贡献奖实名用户
51aspx 2008-03-06 10:51 | 只看楼主 树型| 收藏| 小 中 大 1 #

将VS2005的项目转换到VS2008—使 LINQ能够使用

[实名用户所发信息,推荐关注实名贴,值得关注]


升级到Visual Studio 2008,来个飞跃。如果您有任何先前版本的.NET Framework 3.5或Visual Studio 2008,那么这些软件都必须在安装Visual Studio 2008 RTM之前被卸载。由于Visual Studio 2008的解决方案文件和工程文

[原文作者]: Benth Massi
[原文链接]: Converting VS 2005 Projects to VS 2008 - Enabling LINQ



        假如现在你有一个用Visual Studio 2005 开发的应用程序你想进一步挖掘和转换它,并开始使用VS2008中的 LINQ功能。那么在这里,我打算简单介绍下使LINQ正常工作, 你需要什么步骤, 这些步骤也同样取决于你需要用到LINQ的什么功能。
        在Visual Studio 2008 中,有多种的对象特性使你能够用.NET 2.0, 3.0 或者3.5框架来在2008的环境中编写程序。Scott Gu的文章 和Rick Strahl的对此都有介绍。这就意味着你不需要为了正常运行先前版本的程序而去安装多个版本的Visual Studio IDE在你的电脑上(注意,但是如果你先前用.NET 1.0 或 1.1开发的,那么还是需要安装2002或2003IDE的)。这是个好消息, 因为它不但节省了磁盘空间和省去了前后的转换,还能够使你获得更多的有利条件像调试和编辑而不需要冒着升级项目文件的风险。但是如果你希望把项目升级成3.5的版本去使用LINQ功能,你需要自己添加一些新的命名空间。
        当你第一次在Visual Studio 2008 中打开一个Visual Studio 2005的项目时,系统会提示升级你的项目。实际上这样做是为了升级了你的项目文件(.vbproj) 和解决方案 (.sln) 使其和2008兼容。而这个项目仍然可以用2005打开,它是向下兼容的。但是解决方案文件是单一的,因此如果你是个团队开发项目并且混合有2005和2008 两种版本IDE时,你需要保留两个解决方案,不过幸运的是,你的项目文件(比解决方案要有更多的变化)是可以共享的。
      如今所有的这些升级过程所做的是同时升级项目文件和解决方案,你的程序仍然以.NET2.0的平台为对象,为了升级你的程序去使用新的特性比如LINQ功能,你需要去改变到需要的Framework版本和添加一些新的引用。你也希望根据那些特性打开新的推断特性的选项,这允许编译器通过估计右值表达式去推测出局部变量的申明类型。这将对编写LINQ的查询非常有用。为了支持它,在解决方案资源管理器中双击我的项目打开项目属性,选择编译标签,选择下方的“On”按钮。
      现在去改变目标Framework,点击"Advanced Compile Options..."

 附件: 您所在的用户组无法下载或查看附件
      选择Framework 3.5,按ok,项目就会被关闭后重新开启。如果你再次打开项目看引用标签你会发现System.Core.dll 3.5的版本被自动的引用了。但是为了能使用LINQ,还需要引入两个命名空间和一些和LINQ有关的引用,为了完全支持Linq to Objects,需要添加 System.Linq的引用。现在你可以编写查询对象的代码如下:

[复制到剪贴板]
CODE:
Dim currentFiles = From File In My.Computer.FileSystem.GetFiles(CurDir) _
                  Select My.Computer.FileSystem.GetFileInfo(File)


为了能编写出作用于DataSet数据集的查询,你需要添加System.Data.DataSetExtensions的引用, 之后你要重新运行与你想编写的LINQ程序相关的DataSet的生成器。右键DataSet 选“Run Custom Tool”,  如此会重新产生DataSet 编码,这个编码可以使DataTables  继承位于System.Data.DataSetExtension 命名空间里 的一个叫做TypedTableBase的LINQ-ready 的类。  接下来你就可以在已经被定义的DataSet上编写程序了,例如:

[复制到剪贴板]
CODE:
Dim total = Aggregate Products In Me.CategoryProductDataSet.Products _
            Where Products.CategoryID = 1 AndAlso _
                  Products.Discontinued = False _
            Into Sum(Products.UnitPrice * Products.UnitsInStock)   


如果你要开始使用LINQ 对XML 支持,你需要添加向System.Xml.Linq.dll的引用以及加入 System.Xml.Linq 命名空间,之后你就可以编写作用于xml的语句了 如:

[复制到剪贴板]
CODE:

Dim survey = XElement.Load(CurDir() & "\questions.xml")
Dim questions = From q In survey...<question> Select q


最后,如果你想要在你最新升级的项目中使用LINQ to SQL,那也是相当简单的。只要右键选择添加新的项目并选择“LINQ to SQL”类模板,它将会开启一个新的O/R设计器并且自动的为你添加System.Data.Linq.dll的引用。这允许你编写类似下面的查询(依靠SQL-server):

[复制到剪贴板]
CODE:
Dim countryList = From Customer In Db.Customers _
                  Where Customer.Country <> "" _
                  Order By Customer.Country _
                  Select Customer.Country Distinct


希望我已经清楚的呈现了怎么把你当前的项目中转换到VS2008使用LINQ的第一步, 那么你还等什么呢。
最后编辑51aspx 最后编辑于 2008-03-06 10:59:23
技术问题请直接发布到论坛,客户服务QQ:1120930903,合作及咨询QQ:793095132
常见问题:点这里,请仔细查看!
基础配置视频: 点这里
问题搜索:请点击!
积分奖励: 关于论坛实名版块的建议...
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 2
  • 27
  • 591 分
  • 364.6 元
  • 北京
  • 离线
  • QQ: 793095132 793095132
离线 cqcnihao
头像

  • [学员]
  • [3]
  • 3
  • 2008-10-09
cqcnihao 2009-01-14 23:31 树型| 收藏| 小 中 大 2 #

回复:将VS2005的项目转换到VS2008—使 LINQ能够使用



我 要 发布我的毕业设计怎样做啊
  回信到 我 的信箱?
  或者加我的QQ:124609297  验证信息 是 我 的QQ号?
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 33623
  • 0
  • 1 分
  • 0.2 元
  • 离线
<<上一主题|下一主题>>
1/1页1 跳转到页
发表新主题 回复该主题

相关主题

大侠相助
LINQ TO OBJECTS
silverlight小制作(手机功能演示)
没法运行,有错误
1分钟实现无闪刷新!.NET2008集成Ajax
  • 发新主题

Asp.net源码下载专业站  - 源码推荐 - 最新源码  Sitemap

bbs.51Aspx.com - 简洁版本 - TOP - 界面风格

  • Default

Discuz!NT

Powered by Discuz!NT 2.6.1 © 2000-2010 51Aspx.com.

Processed in 0.203125 second(s) , 7 queries. 京ICP备06046876号

  • 我的资料
  • 我的主题
  • 我的回复
  • 我的精华
  • 我的附件
  • 我的收藏
  • 基本状况
  • 流量统计
  • 客户软件
  • 发帖量记录
  • 版块排行
  • 主题排行
  • 发帖排行
  • 积分排行
  • 在线时间
帖子标题
作  者