LINQ to SQL 第一集

LINQ 如何與 SQL Server 資料庫整合?Visual Studio 2008 又有那些方便的功能可以協助我們呢?

今天筆者建立一個簡單的 Windows Form 的應用程式 + 不到 10 行的程式碼來示範這個部份。

步驟如下:

1. 開啟 VS 2008 並新增一個 Windows Form 專案,命名為『LinqToSql』

image

2. 拖工具箱拖一個 DataGridView 到表單上,並設定『Dock in parent container』

image

3. 對專案加入一毎新項目『LINQ to SQL Classes』,並命名為『Northwind.dbml』

image

4. 在伺服器總管,設定連線到 SQL Express 的 Northwind 範例資料庫,並將 Category、Product、Order及 Order_Detail 拖到 Northwind.dbml 中

image

5. 在 Form1_Load 加入下列 5 行程式碼

        private void Form1_Load(object sender, EventArgs e)
        {
            NorthwindDataContext db = new NorthwindDataContext();

            var products = (from p in db.Products
                            where p.Category.CategoryName.StartsWith("C")
                            select p).Skip(10).Take(10);
            dataGridView1.DataSource = products;
        }

        // 上述的程式碼會取得在 Product 中,其 Category 的 CategoryName 為 C 開頭的資料

        // 跳過前 10 筆資料後,再取出 10 筆資料來顯示

 

6. 執行這個應用程式

image

當然也可加入新增、修改、刪除等功能。LINQ 的語法也可以使更多的變化。

 

筆者的環境為 Vista SP1 + VSTS 2008 SP1 + SQL 2005 Express w/SP2

Hope this helps.