【摘要】LINQ技術是NETFramework 3.5版本的一個新的技術,筆者主要結合自身的工作,介紹了在網站開發中如何建LINQ to SQL實體和符合開發環境的數據訪問層,以及如何使用LINQ to SOL進行數據庫操作,希望能給同行提供幫助。
【關鍵詞】LINQ;數據綁定;ASP.NET
在網站的開發開發過程中,經常用到各種各樣的查詢,例如產品動態的切換、網站地圖的形成和各種數據的查詢等,它們在與數據庫交互的時候,是非常麻煩是的事情。在一個數據源中尋求數據的過程往往就是查詢的過程。并且從現在很多的數據源早已形成各種查詢語言,網站開發者面對各種類型的數據就要重新學習不同的查詢語言,在這種情況下,LINQ技術的應用正好緩解了這種非常繁瑣的情況。本文介紹分析了在網站開發中利用LINQ技術訪問數據庫的步驟,希望能給同行提供幫助。
一、如何建立LINQ to SQL實體
實體類的屬性映射在相應的圖表中的列,實體是描繪映射到圖或者數據庫中的類。在使用的Visual Studio2008中,我們能夠應用O/R設計器創建實體。通過這種設計器建立實體的程序非常簡單,只要在“服務器資源管理器”中,尋找到網站曾經使用的視圖或者數據庫表,然后把此視圖或者數據庫表移動到O/R設計器上就可以了。
二、建立適合網站開發環境的數據訪問層
我們在網站的研發過程中,可以修改LINQ模型,讓它能夠進行很多的操作,例如為它提供比較多的查詢方式和靈活多樣的數據庫表查詢等。
現在我們假設與數據庫及表對應的類已經創建的前提下,以Nothwind數據庫中的數據表為例進行數據操作。例如在LINQ的模型中加入自己的查詢方式:
public static IEnumerable
{
IEnumerable
return results;
}
另外,我們還能進一步封裝LINQ中數據,使對下層的LINQ命令對上層的用戶做隱藏,這樣更加適合對象的概念.
public[Enumerable
{
IEnumerable
select entitys;
return results;
}
這樣對于業務邏輯層,就更加有利于面向對象的數據開發,更加面向對象化。
對于這些模型的修改,我們既可以讓LINQ為網站服務的更加靈活,又可以讓我們更加靈活對數據的操作,達到兩全其美的效果。因此我們都會在網站的研發中,適當的修改LINQ的數據訪問方式,建立自己的訪問層。
三、使用LINQ to SOL執行標準數據庫操作
在使用LINQ的過程中,我們可以將每個數據庫表轉為實體類的形式,把相應的數據操作,轉化為對實體對象的操作,對類的屬性的操作就是對字段的操作,方法操作是由添加、修改、刪除、查詢等方式操作轉化而來,把面向對象的概念與嵌入式的SQL語句接軌,這樣更加有利于程序開發。
1.LINQ對象的創建
在LINQ技術應用中,對象的創建與對象的創建原則上是一樣的,這是因為LINQ技術將每個表轉換成了對象,例如:
CustomersdataAccess=new Customers O;
IEnumerable
我們這里生成的MyCustomers對象即數據表Customers的展現,我們假如想將數據表中的字段進行訪問,直接對MyCustomers對象的屬性驚醒訪問即可,應用的方法河面性對象的方法是一樣的。
可以用循環的方式訪問到每一列數據:
int count=MyCustomers.Count
for(int i=O;i<=count;i++)
Customersrow=MyCustomers.ElementAt
其中row對象就是代表了Customers表中的每一行,每個字段就可以通過這一樣的對象取出數據來,比如取第四行的City字段,就是:
Customers roW=MyCustomers.ElementAt
現在City屬性,就是我們需要的第四行的city字段的數據。
2.使用LINQ to SQL進行插入操作
我們在插入新記錄時,第一位的要使用InsertOnSubmit0方法將一個實體加入到一寸的數據庫表中,再對數據庫使用SUbmitChanges0方法進行插入操作。下列代碼是先創建了—個C U stO mers實體eustomerTolnsert,然后把實體添加到數據庫表中,就是應用的InsertOnSubmit0這一方法,最后再用這方法把數據添加到數據庫中。
Customers customerTolnsert--newCustomerso;
customerTolusert.ContactName=”George”:
eustomerTolnsert.Country=’’U KI;
Customers.1nsertOnSubmit(customerToluset0;
SubmitChanges0;
四、結論
總之,LINQ技術是visual Studio 2008中一項突破性的創新,它的應用方便了網絡的開發程序,為我們以后的數據操作指明了方向,我們要切實把這一技術應用到計算機網絡開發中,使其發揮最大效能。
【參考文獻】
[1]戰非.NET平臺下基于LINQ三層架構的實現[J].電腦知識與技術.2010.(11)
[2]魏一搏、徐夏.LINQ To SQL在ASP.NET數據訪問中的應用[J].信息系統工程.2010.(03)
[3]田江.淺談LINQ訪問技術[J].科教文匯(下旬刊).2009.(07)
[4]徐海濤.LINQ to Object與傳統集合查詢的性能比較[J].計算機時代.2009.(08)
(作者單位:云南工程職業學院)