EntityFramework Code First 使用簡單實現 [圖文]

回顧一下EF code first的實現方式,菜鳥隨筆僅供參考,歡迎各位大神指出錯誤,幫助小老弟成長!程序員

EntityFramework 是微軟公司爲 .NET 開發人員推出的一個 ORM 框架,來實現對數據庫單表數據的建立、讀取、更新和刪除操做。web

對象關係映射(英語:Object Relational Mapping,簡稱ORM,或O/RM,或O/R mapping),是一種程序設計技術,用於實現面向對象編程語言裏不一樣類型系統的數據之間的轉換。ORM方便了程序員操做數據庫,使程序員專一於業務邏輯開發。數據庫

市面上的ORM框架形形色色,總的來講實現方式大同小異,經過在關係型數據庫和對象之間做一個映射,這樣,咱們在具體的操做數據庫的時候,就不須要再去和複雜的SQL語句打交道,只要像平時操做對象同樣操做它就能夠了,同時這些操做會經過ORM持久化到數據庫。編程

新建一個控制檯項目:app

引入EF UnGet包:框架

關鍵是這兩個dll,第二個是EF的SQL server支持,根據具體使用的數據庫更改:編程語言

簡單建立兩個類:班級和學生,在建立類的時候能夠經過一些特性來對其進行約束,如[Key]主鍵、[Required]必需、[StringLength(10)]字符串長度限制10等,具體須要可進一步學習特性相關知識:學習

而後建立本身的數據庫上下文類繼承DbContext,使用傳入一個鏈接字符串的重載,DbSet<TEntity>便是用來映射數據庫表的類,將類和數據庫表進行一一對應:ui

接下來使用包管理器控制檯進行遷移操做,關於具體的命令及含義可經過 get-help EntityFrameWork 命令查看,還有就是注意選擇遷移文件生成的默認項目:設計

Enable-Migrations命令容許進行遷移操做,執行命令後會發現多了一個配置類Configuration,能夠在這裏面進行一些數據庫初始化配置:

Add-Migration + 遷移名字 命令新增一個遷移,命令執行後會生成一個遷移的類文件,當你對數據庫進行向上遷移時(即對數據庫進行新的修改時)Up方法執行,當你對數據庫進行向下遷移時(即對數據庫的操做進行還原修改)Down方法執行:

能夠看到以前在編寫類時打上的特性這裏成爲了列相應的約束,固然你能夠在這裏進行相應操做,但注意與以前的代碼統一:

最後使用 Update-Database 進行數據庫更新操做,這樣就會依據咱們編寫的代碼進行數據庫建立:

在數據庫中會生產對應的表及一個遷移歷史記錄表:

能夠看到數據庫的表設計是符合咱們以前對類打上的特性的:

接下來咱們就能夠經過數據庫類上下文來對數據庫進行增刪改查了,使用Linq、拉姆達表達式等可以方便快捷地進行操做:

增:

刪:

改:

查:

對於web項目,或者處於擴展考慮,咱們經常將鏈接字符串放在配置文件中,能夠實現自由切換數據庫,實現方式有不少種,下面是一種常規的方式:

在web.config文件的configsections節點後中加入connectionStrings節點,其節點下可配置多個節點,根據name進行區分:

取的時候經過 ConfigurationManager.ConnectionStrings["對應的名稱"].ConnectionString,就能夠拿到對應的鏈接字符串,固然也能夠經過其餘方式實現,你們可自行探索。

我的隨筆,僅供參考,歡迎指正錯誤!

相關文章
相關標籤/搜索