C#學習之LinqtoSql類的簡單例子


LinqtoSql類把訪問、操作數據庫的細節封裝了起來,把連接操作數據庫變得相當簡單。下面是簡單的例子。

 

第一步:添加LinqtoSql類

1、創建一個控制台應用程序項目,下載一個NrothWind 數據庫放到解決方案里面。然后點擊控制台項目右鍵選擇添加,選擇類

選擇LINQ to SQL 類,名稱改為NorthWindDB,因為一會是連接NorthWind數據庫的。

2、此時,解決方案里的內容如下

3、雙擊NorthWindDB.dbml文件,然后鼠標點擊一下左邊的編輯框,按F4,右邊就會彈出NorthWindDB.dbml文件的相關屬性信息

NorthWindDBDataContext 就是編譯器自動生成的繼承於 DataContext 類的一個類,就是這個類封裝了操作數據庫的細節。上下文命名空間(就是NorthWindDBDataContext類所在的命名空間),默認是空的,我們給它加上 NorthWindDBCont。實體命名空間(編譯器會把我們鏈接到的數據庫里面我們用到的表都映射成一個對應的類(表的列對應類的屬性),那些對應着表映射出來的類就屬於這個命名空間),默認也是空的,填上 NorthWindDBEnts 。

 

第二步:可視化連接數據庫

1、選擇工具欄的視圖,選擇服務器資源管理器,右鍵點擊數據連接,選擇添加鏈接

2、彈出添加連接對話框,點更改

3、彈出更改數據源對話框,選擇 Microsoft SQL Server 數據庫文件

4、點瀏覽

5、選擇剛才下載的NorthWind.MDF數據庫文件

6、點左下角的測試,如不成功,重新操作 第二步。如果成功,打開服務器資源管理器,可以看到NorthWind數據庫已經加載成功。雙擊NorthWindDB.dbml文件,把里面的表 Customers 、 Orders拖過去

這個時候,編譯器就會自動在 NorthWindDBEnts命名空間里創建兩個類來對應着這兩個表。

打開NorthWindDB.designer.cs文件,NorthWindDBEnts命名空間下的代碼如下:

 

第三步:主代碼

View Code
 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace ConsoleApp
7 {
8 class Program
9 {
10 static void Main(string[] args)
11 {
12 //創建NorthWindDBCont.NorthWindDBDataContext的實例
13 NorthWindDBCont.NorthWindDBDataContext ctx = new NorthWindDBCont.NorthWindDBDataContext();
14
15 //查詢住在London的顧客
16 var q = from x in ctx.Customers
17 where x.City == "London"
18 select new { x.ContactName, x.City};
19
20 if (q.Count() != 0)
21 {
22 foreach (var item in q)
23 {
24 Console.WriteLine(item);
25 }
26 }
27 else
28 {
29 Console.WriteLine("nobody in London");
30 }
31 Console.WriteLine();
32
33 //創建NorthWindDBEnts.Customers 的實例
34 NorthWindDBEnts.Customers myCustomer = new NorthWindDBEnts.Customers();
35
36 //對表Customers進行查詢,把查詢得到的住在London的顧客
37 //並把查得的第一個顧客返回賦給NorthWindDBEnts.Customers類 的實例
38 myCustomer = ctx.Customers.First(a => a.City == "London");
39 Console.WriteLine(myCustomer.ContactName);
40
41 Console.ReadKey();
42 }
43 }
44 }

輸出如下:

 

完。這個好像比WCF簡單點


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM