本篇內(nèi)容介紹了“LINQ有哪些缺點(diǎn)”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)合江,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
LINQ前景
目前的LINQ還是非常之不完善的,不論是LINQ團(tuán)隊(duì)的LINQ TO SQL 或是 ADO.Net的LINQ TO ENTITY,微軟連VS2008的SP1都未將Dynamic。cs進(jìn)行封裝,難道真的就如傳言說的,LINQ即將死亡?
其實(shí)任何情況都是未知數(shù),就好比暴雪總是喜歡不按常理出牌一樣,微軟在今年經(jīng)融危機(jī)中也受到了相當(dāng)?shù)膭?chuàng)傷,所以誰能說LINQ的未來怎么樣,官方?jīng)]公開.Net4.0之前,不光LINQ,包括F#,一切都是謎。
那LINQ還能使用嗎?您在安裝厚重的VS2008的時(shí)候,宣傳廣告中會不停的顯示VS2008的新特性,其中重點(diǎn)就有LINQ,那作為一個(gè)全球***悍的開發(fā)軟件,把重點(diǎn)的目光投給LINQ,那么就一定有它的地位和意義。
VS2008還在CTP的時(shí)候,我就已經(jīng)開始使用LINQ了,用了那么久,不斷的學(xué)習(xí)及體會到它的方便之處的同時(shí),隨著不斷的深入,在體驗(yàn)LINQ語言給我們帶來的快感的同時(shí),漸漸LINQ的弊端也開始暴漏了出來,我個(gè)人發(fā)現(xiàn)LINQ的不足有如下:
1.LINQ非延遲加載需要變立即加載的話需要轉(zhuǎn)換成List
2.LINQ的動(dòng)態(tài)查詢效果類似于C#的反射,必須自己去網(wǎng)上下載一個(gè)Dynamic。cs,我很不明白為什么連SP1都不把它包裝一下?
3.LINQ的dbml很討厭,為什么就不能做得和Dataset一樣智能些,如果用VS的對象關(guān)系設(shè)計(jì)器手動(dòng)更改dbml代碼的話,那么你會發(fā)現(xiàn)你原先修改好的東西全被覆蓋了,這會氣瘋你,請問誰會無聊到手寫非常之復(fù)雜的dbml?目前解決辦法只有使用plinqo,CodeSmith出品,看到CodeSmith應(yīng)該再熟悉不過了,我打一開始就很排斥它真的。
4.LINQ讀取存儲過程不能識別exec命令,假如你的存儲過程結(jié)尾不是類似select * from。。。,而是exec 。。。,好那么你把它拖進(jìn)dbml里,你就會發(fā)現(xiàn)不管你怎么寫,返回值都是int類型,那么有人講了,我可以手動(dòng)把int改成 IsingleSource,但是這樣又回到了第(3)點(diǎn)不是嗎?這意味著什么?想用LINQ使用存儲過程,不能用拼接的通用存儲過程,而必須老老實(shí)實(shí)的寫清楚存儲過程里的表名,列名等等,同樣意味著開發(fā)效率無法提高。
5.LINQ如不使用存儲過程,那么它的性能就只能說比傳統(tǒng)的connection連接優(yōu)越一些,還好IQueryable內(nèi)置了緩存功能,但還是遠(yuǎn)無法達(dá)到數(shù)據(jù)庫函數(shù)及存儲過程的效果,畢竟LINQ只是一個(gè)提高開發(fā)效率的方法,一種清新簡化的查詢語言。
綜合以上LINQ目前的現(xiàn)狀弊端,大家可想,LINQ只能適應(yīng)中小型的項(xiàng)目開發(fā)使用,但是如果你能非常熟練的使用LINQ的查詢語句及Lambda表達(dá)式的話,那么你的中小型項(xiàng)目開發(fā)將是非常有效率及安全性很高的,畢竟LINQ基于2.0的泛型,而且LINQ的優(yōu)勢同樣與它的不足一樣惹眼,我特別喜歡LINQ的Lambda表達(dá)式,那簡直是程序員的藝術(shù),假使,我是說假使有那么一天,LINQ能將我們寫的Lambda表達(dá)式直接編譯成存儲過程,類似if exist() drop之類的話,那就無敵了。LINQ前景不是很樂觀啊,讓我們一起期待.Net4.0吧。
“LINQ有哪些缺點(diǎn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!