1. 程式人生 > >ASP.NET網站開發--實體框架EF(Entity Framework)

ASP.NET網站開發--實體框架EF(Entity Framework)

1、什麼是Entity Framework!

它就是微軟提供的ORM工具,ORM讓開發人員節省訪問資料庫的時間,將更多的時間放在業務邏輯程式碼層中,EF提供變更追蹤,唯一性約束,惰性載入,查詢事物等!開發人員使用Linq語言對資料庫操作如同操作Object一樣省事。

2、EF使用場景!

1.從資料庫生成Class。2.由實體類生成資料庫表結構。3.通過資料庫視覺化設計器設計資料庫。

3、EF 組成!

EF5由兩部分組成EF api和.NET Framework 4.0/4.5。

EF6是獨立的 Entity Framework.dll,不依賴於.NET Framework

4、什麼是ORM(物件關係對映)以及特點!

ORM就是將資料儲存從域物件自動對映到關係型資料庫的工具。ORM包括:域物件,關係資料庫物件,對映關係。

簡單——以最基本的形式建模資料;

傳達性——資料庫結構被任何人都能理解的語言文件化;

精確性——基於資料模型建立正確標準化的結構;

5、該不該使用EF!

這個問題很複雜,我個人覺得,在大,中型專案中不宜使用EF,在小型或小中型中可以使用EF。

6、使用EF的三種方式!

(1)Database First

、資料庫優先,就是你先建好資料庫,然後再根據資料庫生成Model。

、這種方式唯一的缺點就是需要你去建實體物件的partial類,在partial類中設定特性等。

、感覺還是這種方式是最好的,只是沒有CodeFirst新潮啊,所以啊,很難留住那些花心的男人。

(二)Code First

、程式碼優先,就是先建立實體類,然後根據實體類生成資料庫。

、這種方式不需要partial類,你在寫實體類的時候,順便也會把特性寫上。

、這種方式使用起來也不像微軟說的那樣容易,你既要懂資料庫,又要懂Code First的各種約定、技巧,個人感覺比 Database

、First 入門更難。並且,操作不當的話,很有可能帶來災難性的後果,因為你一個錯誤的程式碼,就有可能導致資料庫暴動。

(三) Model First

、不想學這個,不男不女的

7、你該選擇哪一種!

、如前面所說,大中型專案,你就不該使用EF。(有些人要說,大中型專案,你都不該使用.net,嘿嘿,說吧說吧,言者無罪)

、如果是中型專案,應該使用 Database First。

、小型專案,可以使用Code First。當然得是熟練工啊,像我這種菜鳥,只能在這寫學習筆記。