如今的
網(wǎng)絡(luò)有很多偉大的創(chuàng)新,能夠很容易利用LINQ的查詢(xún)能力,并使之與Web用戶(hù)界面的豐富新和靈活性相結(jié)合.的確很容易.
在開(kāi)始之前你需要弄明白幾個(gè)概念:
* LinqDataSource 控件 -- 允許你在基于Web的數(shù)據(jù)綁定中使用LINQ查詢(xún)作為數(shù)據(jù)源.
* LinqDataSource.Selecting 事件 -- 允許你自定義任意LINQ定義查詢(xún)(包括匿名查詢(xún)) 為數(shù)據(jù)源. 只要從VB編輯器的下拉列表中選中LinqDataSource并選擇Selecting事件, 然后在事件處理代碼中設(shè)定e.Result = <你的LINQ查詢(xún)> 即可.
* OR設(shè)計(jì)器和Linq 到SQL -- 如果你正用LINQ查詢(xún)直接連接到SQL數(shù)據(jù)庫(kù) (而不是對(duì)象集合, xml, 等等) 上, 這是一種創(chuàng)建查詢(xún)的簡(jiǎn)單方法, 我們稱(chēng)它為DataContext 對(duì)象. “OR”是對(duì)象-關(guān)系映射的縮寫(xiě), 例如, 從關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)到.NET對(duì)象的映射
* ASP.NET 數(shù)據(jù)綁定表達(dá)式 -- 使你能夠計(jì)算由數(shù)據(jù)源字段, 或簡(jiǎn)單控件的屬性, 或控件列表而來(lái)的ASP形式的<%# Eval("YOURFIELD") %>表達(dá)式
用LINQ到SQL創(chuàng)建一個(gè)簡(jiǎn)單的Web窗體
第一篇文章用一個(gè)最簡(jiǎn)單的Web窗體, 來(lái)逐一解釋這些概念. 然后我將根據(jù)你們的回復(fù)在以后的文章中添加更多主題并擴(kuò)展這個(gè)示例.
下面是一個(gè)最初我們需要的Web窗體輸出示例 -- 一個(gè)非常簡(jiǎn)單的人力資源程序的員工列表單 -- 我得承認(rèn)它缺少修飾, 并需要一些用戶(hù)界面上的加工:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->EmployeeID: 2 Andrew Fuller Andrew received his BTS commercial in 1974 and a Ph.D. in international marketing from the University of Dallas in 1981. He is fluent in French and Italian and reads German. He joined the company as a sales representative, was promoted to sales manager in January 1992 and to vice president of sales in March 1993. Andrew is a member of the Sales Management Roundtable, the Seattle Chamber of Commerce, and the Pacific Rim Importers Association. EmployeeID: 1 Nancy Davolio Education includes a BA in psychology from Colorado State University in 1970. She also completed "The Art of the Cold Call." Nancy is a member of Toastmasters International.
如果你對(duì)Visual Studio非常熟悉, 我估計(jì)你只要10到15分鐘就能在你自己的機(jī)器上實(shí)現(xiàn).
準(zhǔn)備
- 確保已經(jīng)安裝Visual Studio 2008 或 Visual Web Developer 2008 Express. Express 版本.
- 確保安裝了 SQL Server 2005 Express 并已啟動(dòng). 它通常在安裝VS 或VS Express的同時(shí)默認(rèn)被安裝. 你也可以從這里下載安裝.
- 如果在你的機(jī)器上沒(méi)有Northwind.mdf, 可以從這篇文章的附件中下載.
為網(wǎng)站添加數(shù)據(jù)
首先我們要把數(shù)據(jù)庫(kù)添加到我們的工程中, 并創(chuàng)建必要的類(lèi)以使用LINQ中的數(shù)據(jù)庫(kù) (用Linq到SQL).注意, 你可以選擇跳過(guò)此步驟并創(chuàng)建你自己的LINQ查詢(xún)到其他數(shù)據(jù)庫(kù)上.
通過(guò)File -> New Web Site ... -> ASP.NET Web Site創(chuàng)建一個(gè)新的網(wǎng)站到本地目錄
把Northwind數(shù)據(jù)庫(kù)添加到網(wǎng)站的App_Data文件夾
1. 從本文附件中下載 Northwind.mdf 文件并保存到本地
硬盤(pán)上
2. 把這個(gè)文件拖放到解決方案管理器的App_Data文件夾中
通過(guò)OR設(shè)計(jì)器為Northwind創(chuàng)建LINQ到 SQL的類(lèi). Linq 到 SQL 類(lèi)會(huì)被保存在一個(gè).dbml 文件中并可以在可視的OR設(shè)計(jì)器中打開(kāi).
1. 在解決方案資源管理器中右鍵單擊網(wǎng)站結(jié)點(diǎn), 選擇快捷菜單的Add New Item -> Linq To SQL Classes
2. 把"DataClasses.dbml" 重命名為"NorthwindDataClasses.dbml". (這樣做很重要, 以便在代碼和VS向?qū)е姓业竭@些類(lèi)).
3.