自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

LINQ前景不容樂觀

開發(fā) 后端
這里介紹LINQ前景,在體驗(yàn)LINQ語(yǔ)言給我們帶來的快感的同時(shí),漸漸LINQ的弊端也開始暴漏了出來,我個(gè)人發(fā)現(xiàn)不少LINQ的不足。

這里我們主要介紹LINQ前景和LINQ目前的現(xiàn)狀弊端,包括介紹LINQ的動(dòng)態(tài)查詢效果類似于C#的反射等方面。

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)傷,所以誰(shuí)能說LINQ的未來怎么樣,官方?jīng)]公開.Net4.0之前,不光LINQ,包括F#,一切都是謎。

那LINQ還能使用嗎?您在安裝厚重的VS2008的時(shí)候,宣傳廣告中會(huì)不停的顯示VS2008的新特性,其中重點(diǎn)就有LINQ,那作為一個(gè)全球***悍的開發(fā)軟件,把重點(diǎn)的目光投給LINQ,那么就一定有它的地位和意義。

VS2008還在CTP的時(shí)候,我就已經(jīng)開始使用LINQ了,用了那么久,不斷的學(xué)習(xí)及體會(huì)到它的方便之處的同時(shí),隨著不斷的深入,在體驗(yàn)LINQ語(yǔ)言給我們帶來的快感的同時(shí),漸漸LINQ的弊端也開始暴漏了出來,我個(gè)人發(fā)現(xiàn)LINQ的不足有如下:

1.LINQ非延遲加載需要變立即加載的話需要轉(zhuǎn)換成List<T>,但是同時(shí)帶來的是List<T>是無序的,那么將之做為數(shù)據(jù)源綁定的話, 自動(dòng)排序?qū)⒉淮嬖?,那么目前解決辦法只能自己重寫List<T>的Sort()方法,網(wǎng)上有相關(guān)的文章可以參考,如何讓它序列化。

2.LINQ的動(dòng)態(tài)查詢效果類似于C#的反射,必須自己去網(wǎng)上下載一個(gè)Dynamic。cs,我很不明白為什么連SP1都不把它包裝一下?

3.LINQ的dbml很討厭,為什么就不能做得和Dataset一樣智能些,如果用VS的對(duì)象關(guān)系設(shè)計(jì)器手動(dòng)更改dbml代碼的話,那么你會(huì)發(fā)現(xiàn)你原先修改好的東西全被覆蓋了,這會(huì)氣瘋你,請(qǐng)問誰(shuí)會(huì)無聊到手寫非常之復(fù)雜的dbml?目前解決辦法只有使用plinqo,CodeSmith出品,看到CodeSmith應(yīng)該再熟悉不過了,我打一開始就很排斥它真的。

4.LINQ讀取存儲(chǔ)過程不能識(shí)別exec命令,假如你的存儲(chǔ)過程結(jié)尾不是類似select * from。。。,而是exec 。。。,好那么你把它拖進(jìn)dbml里,你就會(huì)發(fā)現(xiàn)不管你怎么寫,返回值都是int類型,那么有人講了,我可以手動(dòng)把int改成 IsingleSource,但是這樣又回到了第(3)點(diǎn)不是嗎?這意味著什么?想用LINQ使用存儲(chǔ)過程,不能用拼接的通用存儲(chǔ)過程,而必須老老實(shí)實(shí)的寫清楚存儲(chǔ)過程里的表名,列名等等,同樣意味著開發(fā)效率無法提高。

5.LINQ如不使用存儲(chǔ)過程,那么它的性能就只能說比傳統(tǒng)的connection連接優(yōu)越一些,還好IQueryable內(nèi)置了緩存功能,但還是遠(yuǎn)無法達(dá)到數(shù)據(jù)庫(kù)函數(shù)及存儲(chǔ)過程的效果,畢竟LINQ只是一個(gè)提高開發(fā)效率的方法,一種清新簡(jiǎn)化的查詢語(yǔ)言。

綜合以上LINQ目前的現(xiàn)狀弊端,大家可想,LINQ只能適應(yīng)中小型的項(xiàng)目開發(fā)使用,但是如果你能非常熟練的使用LINQ的查詢語(yǔ)句及Lambda表達(dá)式的話,那么你的中小型項(xiàng)目開發(fā)將是非常有效率及安全性很高的,畢竟LINQ基于2.0的泛型,而且LINQ的優(yōu)勢(shì)同樣與它的不足一樣惹眼,我特別喜歡LINQ的Lambda表達(dá)式,那簡(jiǎn)直是程序員的藝術(shù),假使,我是說假使有那么一天,LINQ能將我們寫的Lambda表達(dá)式直接編譯成存儲(chǔ)過程,類似if exist() drop之類的話,那就無敵了。LINQ前景不是很樂觀啊,讓我們一起期待.Net4.0吧。

【編輯推薦】

  1. Linq匿名類型簡(jiǎn)單概述
  2. Linq隨機(jī)讀取數(shù)據(jù)淺析
  3. Linq Lambda表達(dá)式全面分析
  4. Linq擴(kuò)展方法簡(jiǎn)單分析
  5. 初探Linq局部變量類型
責(zé)任編輯:佚名 來源: 百度空間
相關(guān)推薦

2011-04-12 11:18:42

FTTH光纖

2013-05-13 11:31:58

NFC

2009-04-28 19:19:40

LinuxApache帶寬控制

2009-09-24 08:42:17

Windows 7兼容性

2012-04-27 09:11:24

Android系統(tǒng)

2021-08-25 07:13:30

芯片電子產(chǎn)品

2009-01-03 11:30:51

2010-07-23 17:05:50

TD-LTE

2018-10-15 17:31:00

網(wǎng)絡(luò)安全病毒網(wǎng)絡(luò)攻擊

2015-07-07 10:14:40

2011-02-09 14:34:04

2012-05-18 08:54:42

移動(dòng)設(shè)備業(yè)務(wù)企業(yè)

2017-08-08 19:29:38

2020-08-18 09:58:34

網(wǎng)絡(luò)彈性災(zāi)難恢復(fù)網(wǎng)絡(luò)攻擊

2014-09-23 17:21:57

2012-05-09 10:23:11

手機(jī)

2012-04-24 23:43:02

諾基亞

2015-11-28 19:16:34

2024-11-22 15:10:29

2024-11-22 15:32:52

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)