linq教程菜鳥 LinQ可以取代SQL語句嗎?
LinQ可以取代SQL語句嗎?LINQ查詢和更新數(shù)據(jù)基本上可以代替SQL語句,但是數(shù)據(jù)庫文件的創(chuàng)建和刪除等維護(hù)工作不能代替SQL語句。當(dāng)然,VS2010也可以用來創(chuàng)建數(shù)據(jù)庫文件,但是它不像SQL語言那
LinQ可以取代SQL語句嗎?
LINQ查詢和更新數(shù)據(jù)基本上可以代替SQL語句,但是數(shù)據(jù)庫文件的創(chuàng)建和刪除等維護(hù)工作不能代替SQL語句。當(dāng)然,VS2010也可以用來創(chuàng)建數(shù)據(jù)庫文件,但是它不像SQL語言那樣方便用于數(shù)據(jù)庫工具。對(duì)于過濾、排序、匯總、提取字段、分組和聯(lián)接等查詢,LINQ與SQL基本相同,并且還有一個(gè)lambda表達(dá)式。
在C#中引入LINQ,以了解編寫和編譯數(shù)據(jù)庫代碼時(shí)是否有錯(cuò)誤,并在編寫時(shí)得到LINQ類庫提示,如添加屬性成員和關(guān)鍵字提示,使編程簡(jiǎn)單方便。如果不使用LINQ,SQL語句只能以字符串的形式嵌入到執(zhí)行語句中。編譯時(shí)找不到字符串錯(cuò)誤,運(yùn)行時(shí)很煩人。
另一個(gè)優(yōu)點(diǎn)是LINQ發(fā)展到LINQ to SQL,可以用O/R設(shè)計(jì)器處理數(shù)據(jù)庫,用C#將數(shù)據(jù)庫映射到類,為數(shù)據(jù)庫的可視化編程提供了方便。參見“C#編程指南”(姚丹,清華大學(xué)出版社,2011年1月,可在線購(gòu)買)。本書詳細(xì)討論了LINQ處理數(shù)據(jù)庫。有很多例子來演示如何更新、排序和優(yōu)化AdventureWorks2008(和dw2008,lt2008)的連接,后者是sql2008的一個(gè)示例數(shù)據(jù)庫。
Linq和LinqtoSql有什么區(qū)別?一般做項(xiàng)目用哪種?
LINQ是Microsoft于年推出的一種新的數(shù)據(jù)訪問和處理方式。Net3.0解決了以往處理集合對(duì)象數(shù)據(jù)的各種困難。其中,在C#3.0和vb9中引入了類似SQL的LINQ語法,使得對(duì)各種數(shù)據(jù)對(duì)象的操作非常方便,具有較好的可讀性。
LINQ to SQL是微軟默認(rèn)提供的一種linqprovider,其他包括linqtodataset linqtoxml linqtoentity。
通常開發(fā)項(xiàng)目可以使用很多LINQ,它會(huì)讓您在處理大量數(shù)據(jù)集時(shí)提高效率。Linq2sql是一個(gè)ORM框架,可以用來減輕數(shù)據(jù)訪問的負(fù)擔(dān)。如果您了解像hibernate這樣的ORM框架,您就可以很容易地理解它