發表文章

目前顯示的是有「LINQ」標籤的文章

LinqToSql 範例

前幾天在上課的時候,提到了微軟的ORM技術,當然談到了LinqToSql和ADO.NET EF。 過去習慣在.NET 2.0開發應用程式的學員們,自然對Linq語法不是很熟悉,但坦白說,一開始我也很不習慣,但改用Linq一段時間之後,開發速度確實提高了很多,很自然的,現在幾乎不管寫哪一種Code(SL, ASP.NET, class...etc)我依舊都會用到Linq... 連去學校上課也都捨棄ADO.NET直接教Linq,原因是,大一大二的學生,在具備了基本的OO概念之後,要存取資料庫,以Linq搭配ORM,可以省去了學習SQL語法的動作。 前幾天學員問到了Linq的語法實在不是很熟,例如Join怎麼下呢? 如何取得Max或avg呢?,有沒有可以參考的網頁,當然有,就在這裡了... http://msdn.microsoft.com/en-us/vcsharp/aa336746  (C#) http://msdn.microsoft.com/en-us/vbasic/bb688085  (VB) 分享

有人問起C#的LINQ寫法...

有人問起C#的LINQ寫法...也很簡單... 關鍵的地方稍微修改一下,差不多是底下這樣...   //查詢BMI值大於25的人   var result = from c in matrix where c.BmiValue > 25 select c;   //顯示名稱   foreach (string item in (from c in result select c.name)) {     MessageBox.Show (item);   } 簡單吧,說真的,截至目前為止,我始終覺得LINQ是一個方便好用的東西,如果你的程式碼沒有太多向後相容的考量,且開發團隊也打算用.NET繼續開發下去,截至目前為止我找不到理由不在程式碼當中使用LINQ,這也是我對於讀者詢問的想法和回答。

LINQ其實很簡單

會寫這一篇是有原因的,不只一次有人問我,要不要學LINQ呢? LINQ看起來很難耶...為何要放棄以前的SQL來學LINQ呢?到底LINQ的意義是什麼? 反正就是有一缸子的問題,說真的,由於最近也沒時間寫本LINQ的書,但是工作累了順手寫寫BLOG還可以,所已針對LINQ這個主題,和大家有一些分享。 其實對於VB開發人員來說,掌握LINQ說真的比C#來的簡單很多,主要的原因就是VB當中有非常多"自動"的隱含型別轉換,是不需要寫程式碼的,也因此操作起來比起C#真的容易不少。 要掌握LINQ的精神,得要知道LINQ出現的目的,其實很簡單,只有一句話,就是希望 "能夠達成以單一的一種語法來查詢多種不同的對象" 的目的。這其來有自,過去我們要查詢資料庫要用SQL、要查詢XML要用XMLDOM物件、要查詢AD又要用另一種不同的查詢方式,總之,查詢這個動作一天到晚出現在電腦程式碼當中,但是開發人員卻要學習多種不同的方式,很困擾,所以LINQ就出現了。 所謂的LINQ,是 .NET Language Integrated Query,也就是在.NET的開發語言當中,直接把查詢的技術給 "整" 進去,目的就是要加快搜尋(速度)與降低開發成本。 所以從.NET 3.5開始, LINQ變成.NET標準語法的一部分,OK,就是這樣,所以我們來看看 LINQ怎麼查詢,首先,為了展示LINQ,我定義了底下這樣的結構: Structure BMI   Dim name As String   Dim height As Integer   Dim weight As Integer   Dim BmiValue As Single End Structure 你用類別也可以,總之上面的結構用來表達一個人的身高,體重,名稱和BMI值。 接著,我撰寫底下程式碼: '定義陣列 Dim matrix(5) As BMI '填入測試資料 matrix(0).name = "王小寶" matrix(0).height = 170 matrix(0).weight = 65 matrix(1).name = "韋大寶" matrix(1).height = 176 matrix(1).weig...