现在的位置: 首页 > 综合 > 正文

录像:在VS Orcas和ASP.NET中使用LINQ (第一部分)

2012年07月29日 ⁄ 综合 ⁄ 共 1848字 ⁄ 字号 评论关闭

【原文地址】 Video: Using LINQ with ASP.NET in VS "Orcas" (Part 1)
【原文发表日期】 Sunday, January 28, 2007 11:28 PM

我今年的一个目标是在博客中多用录像。我的看法是这样,很多时候,用来示范某样东西是怎么工作的,较之于比文字,录像是更好的媒介,也可以帮你避免由阅读我的一些非常长的博客帖子而带来的沉闷,单调,乏味。。。

在下几个月里,我会尝试着每隔一个星期就各种主题创制一个新录像。很多这些录像会涉及对随Visual Studio Orcas而来的一些新的特性的初览,Visual Studio Orcas是将于今年晚些时候发行的新版本。至于今天的录像,我决定着重介绍 LINQ,我认为LINQ是随Orcas而来的最激动人心的特性之一。

在高的层面上看,LINQ使得查询的概念成为.NET中一等(first class)的编程概念。通过使用LINQ,你可以轻松地查询关系数据库,XML文件,以及任何普通的.NET对象。你也可以轻松地在LINQ中使用你自己的数据源抽象来为各种数据提供器提供丰富的域模型(domain models)。想看一个精彩的例子的话,参考Fabrice的LINQ到Amazon的实现,这个例子支持了对通过 web-service 呈示的Amazon数据的LINQ查询。 作为 Orcas 发布的一部分,VB 和 C# 两者都提供了与LINQ丰富的语言级的集成,包括完全的 Intellisense,编译时检查和调试支持。

观看或者下载录像

第一个录像从一个新项目开始,然后示范对一个SQL数据库使用LINQ来建立一个简单的数据报表网页的基本知识,内含对从多个数据表计算出来的聚合值,以及效率高的服务器端数据库中分页的支持。

你可以在这里在线观看这个录像(总长度为24分钟)。或者如果你想保存在本地观看的话,你也可以在这里下载一个 .zip版本。注意,它也许会花30-60秒钟来做缓存,因为这是个大的录像。万一我的服务器请求太多不堪重负的话,我会在这个星期的晚些时候更新网址,并将它发布到一个微软的录像服务器上去。

想了解LINQ的详细信息的话,包括我自己的“使用LINQ建立数据驱动的ASP.NET应用”讲座的讲义和演示代码,请查看一下这里一个我以前的帖子。至于其他的ASP.NET 2.0技巧,诀窍和教程,请查看我的ASP.NET技巧/诀窍汇总列表网页

这个录像里讨论的主题细节

这个录像里的示范举例说明了几个新特性:

1) 对新的所见即所得(WYSIWYG)HTML设计器一些功能的简短示范(包括分割界面和对新的CSS管理器的简短介绍,我将来会在另外的录像里对两者做详细讨论):

2) 如何使用VS Orcas中的LINQ到SQL的新ORM设计器来创建模型数据的类:

3) 如何在VS Orcas代码编缉器里使用新的LINQ Intellisense支持来得到对查询的完全的Intellisense和编译支持:

4) 如何使用 LINQ到SQL 来创建结合了Product实体数据和从Product实体相关联的OrderDetail实体中计算出来的聚合单元和收入数值的数据报表。这个数据报表使用了服务器端的数据库分页,每次有效率地只获取10行记录(这样,对一个十万行的产品表,不管你的报表指向哪个页,你每次只从数据库获取10行数据):

将来的录像

在将来的录像里,我会对LINQ做一些更深入的探讨,在这个录像里我只是刚触及到表面而已。其他的部分将包含这些内容:

  • 类型推断和关键词 var (以及为什么是如此地酷)
  • 使用 LINQ到SQL 支持插入,更新和删除操作的情形
  • LINQ数据模型里的验证规则和逻辑
  • 在 LINQ到SQL 中使用存储过程
  • LINQ到SQL 中对JOIN的更丰富的支持
  • LINQ到XML 和 LINQ到对象
  • 使用新的 LINQDataSource 控件和其他ASP.NET数据控件轻松地创建 Web UI

很明显地,我也将有更多的ASP.NET和与web有关的录像,包括:

  • 新的所见即所得(WYSIWYG)的HTML设计器和CSS支持
  • 客户端JavaScript Intellisense
  • JavaScript调试
  • ASP.NET AJAX 扩展器(Extender)支持
  • 数据库备份和上传集成
  • 单元测试
  • 多目标(Multi-targeting)支持(示范如何使用VS Orcas来build ASP.NET 2.0项目,而不用更新你的框架和服务器)

希望本文对你有所帮助,

Scott

抱歉!评论已关闭.