陳進

摘要Entit y Framework是.NET開發中一種由ADO.NET驅動的ORM框架,此框架支持三種編程方式Database First、Model First和Code First,本文以項目管理系統中類別管理為例,簡單描述了Code First模式在MVC項目中的應用方法。
【關鍵詞】Entity Framework CodeFirst MVC實體框架 代碼優先
1 Entity Framework概述
ADO.NET Entity Framework是NET開發中一種由ADO.NET驅動的ORM框架,使用Entity Framework(以下簡稱EF)開發人員可以不必考慮數據的基礎數據表和列,在處理數據時能夠以更高的抽象級別進行工作,并能夠以相對傳統開發編寫更少的代碼來創建和維護應用程序。
2 CodeFirst模式在MVC項目中的應用
2.1 新建一個MVC項目
打開VS2015, 新建項目名稱為ProjectManage的MVC項目,項目創建完成后,在解決方案中會自動生成Models[模型]、Views[視圖]和Controllers[控制器]三個文件夾。
2.2 創建項目類別模型
在Models文件夾中添加一個Category類,這個類描述的是項目類別,包含了兩個屬性:類別編碼、類別名稱。
public class Category
{
publicintld{ get; set;)
public string CateName{ get; set;)
)
2.3 啟用CodeFirst數據遷移
在數據遷移之前,需要在Web.config中預先定義DB連接,在connectionString節點中,增加名稱為ProjectDbContext的連接字符串。
2.4 定義數據庫上下文DBContext類
在Models文件夾中, 新建ProjectDBContext類, 該 類 繼 承 至DBContext。
public class ProjectDbContext: DbContext
publicProjectDbContext() :base(”ProjectDbContext”){)
)
2.5 安裝EF框架
CodeFirst模式是基于EF實現的,所以在使用之前,需要安裝EF。首先打開NuGet程序包管理器,在搜索框里面搜索EntityFramework,找到后把EF安裝到解決方案中。
2.6 實現數據遷移
CodeFirst模式可以根據模型,自動生成數據庫和數據表,生成操作需要執行以下命令Enable-Migrations、Add-Migration、Update-Database。具體步驟如下:
(1)打開“程序包管理控制臺”,執行數據遷移命令,在命令行中輸入“Enable-Migrations”,該命令的作用是允許數據遷移,執行該命令后,會在項目解決方案中新增加一個Migrations文件夾,該文件夾里面放的是所有的遷移記錄,該指令在項目開發過程中只需執行一次,后續數據庫表更新無需重復執行。
(2)在命令行中輸入“Add-MigrationInitialDB”,執行該命令后,會在Migrations文件夾中新增一條遷移記錄。
(3)最后在命令行中輸入“Update-Database”,執行完畢后,就會在數據庫中生成了名稱為ProjectDb的數據庫,在數據庫里面會有一張Categories數據表。
2.7 使用基架生成Controller和Views
當數據庫生成完畢之后,可以根據基架直接生成Controller和Views,很方便的就實現了對數據表Categories的列表、新增、刪除和修改功能。
(1)在Controllers文件夾中新建控制器CategoryController,選擇包含視圖MVC5控制器(使用EF),選擇完畢后然后點擊添加,打開如圖1所示界面。
(2)根據圖1所示,輸入控制器名稱CategoryController、選擇模型類(Category)、上下文(ProjectDbContext)、選中生成視圖然后點擊添加按鈕,完成控制器的添加。
(3)控制器添加完成后,會在Views文件夾內同步生成項目類別的視圖頁,此時可以選擇Index在瀏覽器中查看效果。
至此,一個簡單的基于CodeFirst模式的MVC項目已經編寫完畢,在整個過程中,其實書寫的代碼并沒有多少,但是完成了對一張數據表的維護操作,讓復雜的編程變得更簡單快速。但是,要完全掌握這種模式下的編程開發,還有很多東西需要學習,例如表與表之前的關系如何在模型中體現、數據校驗如何完成等等,更多細節方面還需要大家查詢相關資料深入學習,方能有所收獲。
參考文獻
[1]劉育旺.基于.NET MVC框架的Web設計[J].電子技術與軟件工程,2017(01):48- 49