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

  • 22944
  • 0
  • 2011-07-10

摘要:錄影:在VS Orcas和ASP.NET中使用LINQ (第一部分)

【原文位址】 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應用」講座的講義和Demo程式碼,請查看一下這裡一個我以前的文章。至於其他的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

附註:如果你有其他題目或主題要我用錄影來作詳細探討的話,請把它們貼在這個文章的評論部分。