Entity Framework快速入門筆記第四篇—ModelFirst

來源:互聯網
上載者:User

  前言:在上一篇部落格中我們做了一個小的Demo,使用EF實現了對資料庫的增刪改查的操作,所謂學習,我們就要學會舉一反三,所以好好學習一下上一篇的內容還是方便以後的擴充學習,這篇部落格我們主要來研究一下ModelFisrt,這什麼意思呢??拿中文說就是實體最先建立模型,也就是我們在不建立資料庫的前提下,寫入Entity Framework,讓EF架構來幫我們完成建立資料庫的動作,下面我們就詳細來介紹一下,我們還是和上一章一樣,使用控制台來進行操作。

1.建立一個控制台應用程式,起名:EFModelFirstDemo

2.在項目中右鍵添加一個ADO.NET實體資料模型

3.選擇模型內容為空白模型,,單擊完成

  

4.當單擊完成之後,將會出現一個可視化方式設計的實體資料模型,如何操作在上面也有一些提示,:

  

5.添加一個Entity FrameWorkEntity Framework

  (1)從工具列中拖放一個實體或者右鍵新增實體到設計器中,給新添加的實體起名為UserInfo,但我們添加進去實體的時候,預設已經給我們添加了一個ID主鍵。:

      

  注釋:預設產生的實體中的ID是自動成長的類型,如果我們不需要或者使用Guid的ID序號,那麼我們一定要在ID上面右鍵屬性設定StoreGeneratedPattern的值為None。

  (2)在實體上面右鍵新增三個個純量屬性UserName,Pwd,SubTime。然後給每個欄位設定純量屬性設定屬性,這裡就不詳細說了,只要我們學習過資料庫的話,就一定會設定的,:

    

  注釋:如果屬性的最大長度不設定的話預設是Nvarchar(Max),給SubTime的類型設定為DateTime時間類型。

  (3)我們在添加一個訂單表和一個使用者角色表,然後給這三個表之間建立關係,如何建立關係呢?其實很簡單,只要我們知道兩個表之間的關係是一對一,一對多還是多對多,然後右鍵新增一個關聯,最後整體的模型圖:

     

6.根據上面的模型產生資料庫

  (1)在設計器中按右鍵根據模型產生資料庫,開啟的情形,對這張圖大家很熟悉。 

    

  (2)然後對上面的圖形進行填寫和連結資料,:注意中的選擇或輸入資料庫名稱我們要自己輸入資料庫的名稱,然後單擊確定,在單擊下一步,完成的時候資料庫已經幫我們建立好了。

    

  (3)當單擊完成之後就會根據實體模型產生SQL語句,:

    

  (4)然後在上面的SQL語句中德空白中按右鍵執行,將會出現登入資料庫的介面,這時候我們將登入資料庫的資訊填寫完畢,單擊Conntect,即可幫我們建立好我們模型中的表在資料庫中。查看資料庫:資料庫的建立位置是預設的位置 

    

  (5)當到這一步的時候我們已經完成了建立資料庫的工作,是不是很爽呢。下來我們就驗證一下我們所產生的資料庫的是否能夠使用。

  (6)這時候如果我們設計的資料模型不合理或者那裡有點小的Bug,怎麼辦呢?很簡單了,再重建一把不就行了。

  (7)如果我們在資料庫中變化了呢?我們的模型變化了嗎?沒有,在這裡要注意我們的模型必須要和資料庫一致。那麼如何保持一致呢,在模型上面單擊右鍵選擇從資料庫更新模型, 出現一個介面,然後我們單擊完成,這時候我們的模型就和資料庫一致了。

7.使用EF協助我們實現添加一條資料

  (1) 實現的代碼:

    

  (2) 資料庫裡面加入了三條資訊,:

    

  (3)使用資料庫的Profiler查看產生的SQL語句,總共執行了三條語句,這裡就不一一展示了。

    

8.使用EF幫我們實現一個查詢的結果

  (1) 第一種兩個表之間相連實現的代碼:

    

  (2)使用資料庫的Profiler實現查看上面執行的SQL語句:

    

  注釋:從上面的執行結果可以看出EF架構在執行上段代碼的時候使用Inner Join關聯兩個表之間的關係。

  (4)使用消極式載入來查詢UserInfo表的資訊,有些資訊在代碼的注釋裡面有:代碼如下

   

  (5)查看結果

    

  (6)通過Profiler查看產生的SQL語句:   

    

    

  注釋:如果有任何疑問,可以到我們的部落格園小組裡面給我留言,我們的小組名稱是”青春代碼”,我們大家可以共同互相探討一下,也可以在下面給我留言,這樣只能我回複了,為了技術,讓我們共同努力吧!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.