【這一樣是老人的備忘錄】
.Net 3.0 有推出一個很有趣的資料庫存取方式 - linq
雖然這並不是啥新鮮的東西(已經出好久囉),不過因為把舊專案全換成那個方式,也太耗費成本了
所以我並沒有去特別學習 linq
而最近終於提起一些興趣來學習 .Net 新出的東西!
「LINQ TO SQL 類別」,新增這類別可以讓 VS.Net 幫你建構 LINQ 存取資料庫所使用的 DataContext 及 Table
而且一切就是拖拖拉拉就完成了(默...
比起以前還得寫一大串語法,這真的是變化不小
下面的語法主要都是利用 C# 來示例
Linq 資料表的定義:
以下只是簡單的定義,以便後順舉例
1. 從 Article 取出ID、名稱及作者
2. Inner Join - 將 article 及 journal 資料作 Inner Join 查詢
3. Left Join - 將 article 及 journal 資料作 左合併查詢
(未能正確與 Journal 對應到的 Article 資料也要列出,雖然這並不符合資料庫正常的格式)
4. Group Join - 列出類似 Left Join 的結果,但將各 Journal 紀錄整合到同一個 List
5. CROSS Join - 列出 Article*Journal 所有可能的結果集
上面是一些 LINQ 的語法舉例,但或許你會想知道,他實際上是怎樣運作,下的 SQL 語法如何?會不會很沒效率
其實他也提供你查詢他下的 SQL 語法
只要善加利用 LINQ DataContext 的 Log 就能查詢得知了
以網路上找到的一個簡單的 LINQ 例子為例(沒錯,黑大,我偷懶一下,就借我用一下吧XXD)
至於 DebuggerWriter 我在這就不詳談了,有興趣的去辜狗一下吧!