天天看點

Entity Framework(一)基礎

       之前重來沒有接觸過EF,這次出差,在一個項目中要寫資料推送的接口,經過一個大神的指定,開始學習Entity Framework架構,推薦了一個部落格學習http://www.cnblogs.com/lsxqw2004/p/4701979.html,我大部分都在這裡學習的,我覺得很不錯,講的非常詳細,對初學者特别有幫助。

一、什麼是Entity Framework

    其實是微軟提供的ORM(對象關系映射)工具,ORM節省了開發通路資料的代碼時間,用更多的時間來處理業務邏輯。EF提供變更跟蹤、唯一性限制、惰性加載、查詢事物等。

  EF有三個使用場景:

    1、從資料庫生成對應的Class(實體對象)

    2、由實體類生成資料庫表結構

    3、通過資料庫可視化設計器設計資料庫,同時生成實體類

Entity Framework(一)基礎

二、Entity Framework工作原理

Entity Framework(一)基礎

        利用了抽象化資料結構的方式,将每一個資料庫對象都轉換成應用程式對象,而資料字段都變成了屬性,關系則變成了結合屬性,讓ER模型完全變成資料庫對象模型。這樣就可以讓程式員用最熟悉的語言去操作這些對象,事實上是在操作資料庫的變化。在抽象化的結構之下,再結合三層架構讓資料通路輕松的實作。

三、常見的兩種定義資料模型

1、CodeFirst

   使用Code First 用代碼來定義模型,然後生成資料庫。

        CodeFirst是EntityFramework的一種技術手段,因為傳統程式設計方式都是先建立資料庫,然後根據資料庫模型為應用程式模組化,再進行開發;CodeFirst從字面上了解就是代碼先行,先在程式中建立要映射到資料庫的實體結構,然後EntityFramework可以根據實體結構生成所對應的資料庫。

2、ModelFirst

  使用Model First 用方框和線條來定義模型,然後生成資料庫。

      通過 Model First,可以使用實體架構設計器來設計新模型,然後從模型生成資料庫架構。模型存儲在一個 EDMX 檔案(擴充名為 .edmx)中,可在實體架構設計器中檢視和編輯。應用程式中用于互動的類是自動從 EDMX 檔案生成的。

繼續閱讀