詳細(xì)說明ADO.NET菜單相關(guān)介紹
本系列課程我們將會從ADO.NET菜單的各個(gè)角度出來,來講述ADO.NET菜單發(fā)布以后的全新功能,這主要包括C#3.0,VB9.0,WCF,WPF,WP,LINQ,AJAX,mobile開發(fā),Cardspace,智能客戶端。
添加實(shí)體數(shù)據(jù)模型
1. 查看Solution Explorer,在新建的項(xiàng)目中,右鍵單擊網(wǎng)站節(jié)點(diǎn),選擇Add New Item菜單項(xiàng),打開Add New Item對話框。
2. 在Add New Item對話框中,選擇ADO.NET Entity Data Model作為模板,并在New文本框中輸入Northwind.edmx,然后在Language下拉列表中選擇Visual C#,然后點(diǎn)擊OK,添加實(shí)體數(shù)據(jù)模型。
3. 如果彈出新的對話框,詢問是否將代碼旋轉(zhuǎn)在App_Code目錄當(dāng)中,選擇Yes。
4. 這時(shí),將彈出Entity Data Model Wizard對話框。
5. 選擇Generate from database,點(diǎn)擊Next。
6. 接下來,在Choose your data connection下拉列表中,選擇Northwind數(shù)據(jù)連接,如果沒有這個(gè)連接,則點(diǎn)擊”New Connection …”以創(chuàng)建一個(gè)到Northwind數(shù)據(jù)庫的連接。
7. 在下面的“Save entity connection settings in Web.config as”文本框中,輸入NorthwindEntities。
8. 注意,在中間的文本框中,會顯示這個(gè)實(shí)體的連接字符串。
9. 點(diǎn)擊Next。
10. 然后,將會看到Choose your database objects。
11. 在下面的樹狀選擇框中,展開Tables節(jié)點(diǎn),選擇Customers和Orders兩個(gè)數(shù)據(jù)表。
12. 在下面的Model Namespace文本框中,輸入Northwind,點(diǎn)擊Finish,關(guān)閉對話框。
編輯實(shí)體數(shù)據(jù)模型
1. 這時(shí),將打開Northwind.edmx文件的編輯器,可以看到Customers和Orders兩個(gè)實(shí)體。
2. 選中Customers實(shí)體,在屬性窗口中,將它的Entity Set Name置為Customers,將Name置為Customer。
3. 同樣,將Orders實(shí)體的Entity Set Name置為Orders,將Name置為Order。
4. 這樣,兩個(gè)實(shí)體的名稱將被修改為Customer和Order。#t#
5. 并且,您可以看到在兩個(gè)實(shí)體之間,存在著一個(gè)一對多的關(guān)系。
查看生成代碼
1. 在Solution Explorer面板中,在App_Code目錄當(dāng)中,展開Northwind.edmx節(jié)點(diǎn),看到Northwind.edmx.cs文件。右鍵單擊該文件,選擇Open以打開代碼文件。
2. 在代碼編輯器中,可以看到由圖形化編輯器所生成的三個(gè)類,包括:
i. NorthwindEntities
ii. Customer
iii. Order
3. 其中,Customer和Order就是在圖形化編輯器中所定義的兩個(gè)實(shí)體的名稱。
4. 而NorthwindEntities是訪問底層數(shù)據(jù)源的實(shí)體集的集合,注意到,在NorthwindEntities中擁有兩個(gè)實(shí)體集,名稱分別為Customers和Orders,這兩個(gè)實(shí)體集便是在圖形化編輯器下所設(shè)定的兩個(gè)實(shí)體的Entity Set Name。
編寫LINQ to Entity代碼
1. 在Solution Explorer面板中,雙擊Default.aspx文件,在打開的頁面編輯器中,點(diǎn)擊左下角的Design以切換到設(shè)計(jì)界面。
2. 查看Toolbox面板,展開Data,將里面的GridView控件拖放到頁面當(dāng)中。
3. 在Solution Explorer面板中,右鍵單擊Default.aspx文件,選擇View Code以查看C#源代碼。
4. 在代碼上方,添加一個(gè)命名空間的using:
using Northwind;