Microsoft Entity Framework是一個對象關係映射工具(Object Relational Mapping ,O/RM)工具。它可讓你從一個數據庫自動地生成數據接入層。實體框架免去了你手工建立數據接入層的乏味工做。ADO.NET 實體數據模型能夠映射數據庫與數據表,也能夠映射模型類。它是關係數據庫與面向對象系統的橋樑,閒話少說,就讓咱們舉個簡單的例子來解析它吧!數據庫
1.啓動VS2010.建立一個Console application(控制檯) : 名爲:EFModelDemo 以下圖:瀏覽器
2. 在項目上,右鍵=》選擇「添加->新項目..」 以下圖:選擇:Ado.net entity data model : 名爲:School服務器
3. 選擇「empty model 」 點擊完成 .以下圖:app
4. 此時會自動打開edmx的設計器界面;以下圖:框架
5. 用鼠標拖動「entity(實體) 」到界面設計器上。就會生成一個實體出來。以下圖:工具
若是你想重命名一個實體類,你能夠雙擊實體設計器裏的類的名字而後輸入一個新的名字。或者,你能夠在實體設計器裏選擇一個實體後在屬性窗口裏修改這個實體的名字。記住在修改後保存你的實體數據模型。在這個場景後面,實體設計器生成了一系列的C#模型類。你能夠在解決方案瀏覽器窗口裏經過打開XXModel.Designer.cs文件看到這些類。別修改Designer.cs裏面的代碼,由於你的改動會在下一次使用實體設計器的時候會被從新覆寫。spa
若是你只想要擴展在Designer.cs裏面的實體類的功能,你能夠在單獨文件裏建立部分類。.net
6. 給這三個實體增長其它屬性:在設計器上點擊鼠標右鍵來添加。默認狀況下:屬性是string類型的。選中實體中的某一個屬性項(如ClassID),而後在屬性面板中將其type改成:int32.(由於,它將做爲外鍵與Couse實體中的ID對應,因此確保二者的類型要同樣)以下圖:設計
7. 創建關聯:在toolbox中,用鼠標左鍵單擊一下「關係」,而後能夠鬆開鼠標,「關係 」仍處於選擇狀態。移動鼠標到設計面板上,當鼠標靠近實體時,鼠標指針會變化成折線。在主實體上按下左鍵,並拖動到從實體上,鬆開左鍵,此時會有一根線產生。就是關聯。以下圖:3d
8. 修改Student , Course 之間的關聯爲多對多(就*表明多個。*對*)。以下圖:
9. 雙擊class,student之間的關聯,設置以下圖:
10. 在Model First 中,EF不會爲咱們建立數據庫只會建立表。因此咱們要事先用SQL server 2012創建空數據庫:
在edmx設計器上空白地方,右鍵:「根據模型生成數據庫」,進入「生成數據庫」嚮導,創建數據庫鏈接。
當鏈接服務器成功之後,點擊:執行腳本。則會在數據庫school中生成相應的數據表。
注意:觀察生成的數據表:student,course之間是多對多關係,因此會生成一箇中間表:studentcourse,主鍵就是由student,course的主鍵組合.在student 表中,咱們設計了一個ClassID用於外鍵關聯class實體。這種關聯在EF中稱做:外鍵關聯(有專門的一個外鍵去和導航屬性對應)。EF還支持另一種關聯:獨立關聯(沒有專門的一個外鍵去和導航屬性對應,EF在沒我外鍵的狀況下,也能夠跟蹤管理導航屬性)。這裏咱們按在沒有ORM框架的時候,咱們採用的傳統作法:就是採用外鍵關聯兩個實體。
另外,ADO.NET 實體數據模型嚮導還能夠直接使用從現有數據庫建立模型,這種方式(Database First)比較簡單在此就不提了,根據嚮導指示就能夠了。