2013年9月3日 星期二

[轉貼] LINQPad 有在用LINQ不可或缺的好工具


有在使用LINQ的朋友應該都會遇到一些困擾,LINQ會最佳化可是他到底把讓我的SQL語句變成怎樣?執行結果要怎麼看?執行結果有錯誤到底是我寫錯了還是LINQ最佳化的過程和我想的不一樣!你也有以上問題嗎?來試試看LINQPad吧。
LINQ很方便好用沒錯,一般的需求都可以很快的解決,但是如果遇到了比較複雜的需求需要JOIN兩張以上的表還要群組啥玩意的,往往只能先寫到看起來正確,然後就可能要建立一個測試環境來看看到底我們寫出來的LINQ執行解果是不是我們所想的,如果想要看到LINQ to SQL 到底轉換成什麼語句甚至要大費周章的打開SQL Server Profiler來錄下語句,但是現在有了LINQPad一切都變得很不一樣。
進入官網我們可以看到很精緻的圖案,LINQPad有提供兩種版本兩種版本的差異不大,免安裝的開啟會比較久,安裝版的開啟迅速並且可以和.linq副檔名關聯,您可以先試用看看免安裝版〔Download LINQPad.exe〕(以下示範使用的是免安裝版)。

下載回來的LINQPad是一個執行檔,點兩下就可以開啟了(開啟過程要稍微等一下)
開啟後我們直接點選〔Add connection〕來建立一個資料庫連線

看到這介面應該不需要介紹各位也會用了(實在是太像啦)
從中我們可以看到最基本的他就吃了SQL Service和SQL CE兩種資料來源,而且請注意最上面的〔Data Context〕點下去你會看到他也可以幫我們建立LINQ TO SQL或Entity FraameWork的 Datacontext實在是太豐富了。

設定好了以後就可以看到北風資料庫已經被我們載入了

demo先打了一段相當簡單的查詢語法然後按下執行的綠色箭頭
看到了嗎?按下綠色箭頭後在下方框格就直接出現了查詢的結果!!是不是很方便阿?
但是還沒完....還有更好的功能在下面。

當我按下了λ符號後直接秀出LINQ to Object的語法可供我們參考或是學習。結束了?no no

想必你也猜到了按下SQL按鈕會出現的是什麼
直接立刻馬上就可以看到轉換的SQL也是一種幸福阿~~

剩下一個案鈕IL按下去看看吧

下方會有顯示此次查詢的花費時間,你也可以看看這時間來評估或是改善你的寫法唷。

或許你會不知道IL是什麼其實這就是.NET的中間語言也就是.NET的組合語言啦,不過這不是人看的...跳過就算了。

LINQPad也支援多種語言供您選擇

以上就是LINQPad的大致功能,如果你還不會LINQ但是想學這套工具也很貼心的準備了多種範例
看到了這條〔Download more samples〕就知道範例是會一直增加的唷。

這套工具實在是方便又好用如果你也覺得不錯記得要鼓勵一下作者感謝他開發出那麼好用的小工具來幫助我們〔http://www.linqpad.net/Purchase.aspx〕,註冊後就可以有IntelliSense的支援囉

沒有留言:

張貼留言