MVC 中的代碼優先方法:您需要知道的一切

已發表: 2021-02-25

目錄

什麼是代碼優先方法?

Entity Framework 4.1 引入了MVC中的代碼優先方法。 代碼優先方法主要用於領域驅動設計。 在這種方法中,應用程序域正在考慮。 這些類是根據域實體而不是數據庫創建的。 在那之後,研究使其與數據庫設計相匹配。 下圖說明了 MVC 中的代碼優先方法。

MVC 中的代碼優先方法

從圖中可以清楚地看出,實體框架根據域類創建或更新數據庫。 因此,用戶需要先編寫代碼,然後實體框架將使用代碼創建數據庫。 這就是為什麼它被稱為代碼優先方法。

代碼優先工作流程

MVC 中的代碼優先方法遵循以下步驟的工作流程:

  • 創建領域驅動的類
  • 配置創建的域類
  • 更新或創建域類的數據庫。

域類的配置使用 Fluent API 進行,數據庫更新使用自動遷移完成。

何時在 MVC 中使用代碼優先方法?

  • 何時創建數據庫。
  • 當應用程序要從頭開始時。
  • 操作時,如創建和刪除視圖、表和存儲過程。
  • 當一個數據庫有很多表、存儲過程和想法時。

之前,在 MVC 中介紹了代碼優先的方法,通常使用 DB First 方法。 DB 優先方法有其優勢,在以下情況下可以優先於代碼優先方法:

  • 當數據庫已經在項目中創建時。
  • 當項目不涉及表或視圖中的許多更新時。
  • 當項目較小時。

如何在 MVC 中使用代碼優先方法?

在使用代碼優先方法之前,需要完成一些步驟,如下所示:

1.創建一個空白數據庫

  • 打開 SQL 服務器並連接數據庫服務器。
  • 在對象資源管理器中,右鍵單擊“數據庫”選項以創建新數據庫。

2.創建MVC項目

  • 導航到文件 > 新項目 > Visual C# > ASP .Net Web 應用程序
  • 輸入解決方案和項目的名稱,然後單擊確定。
  • 單擊 MVC 並將身份驗證選項更改為個人用戶帳戶。

3.創建類庫項目

  • 通過右鍵單擊解決方案資源管理器添加一個新項目。
  • 導航到 Visual C# > Windows > 類庫並將項目名稱指定為 ABC.DAL

4. 將Entity Framework添加到上一步創建的DAL項目中。

  • 導航到 DAL 項目 > 管理 NuGet 包 > abc.DAL。
  • 瀏覽並安裝實體框架。

5. 代碼優先方法實現

考慮一個辦公室有許多員工在多個不同部門工作的例子。 如果項目涉及為此辦公室創建應用程序,則可以查看和更新​​任何員工的信息。 使用代碼優先方法,這些類將首先為辦公領域設計。 考慮兩種類型的員工和部門,其中每個員工都鏈接到一個部門。

創建 Employee 類,如下所示:

公共類員工{

公共 int EmpId { 獲取; 放; }

公共字符串 EmpName { get; 放; }

公共浮動年齡{得到; 放; }

公共日期時間 DateOfJoining { get; 放; }

公共浮動 ExpInYears { get; 放; }

公共部門部門{get; 放; }

}

創建部門類如下:

公共課部{

公共 int DeptId { 獲取; 放; }

公共字符串 DeptName { get; 放; }

公共 ICollection<Employee> 員工 { 獲取; 放; }

}

代碼首先使用 DbContext 類來派生上下文類。 上下文類公開了 DBSet,它是實體類的集合。 上下文類的創建代碼如下:

命名空間 EF6Console {

公共類 OfficeContext: DbContext {

公共 OfficeContext(): base()

{

}

公共 DbSet<Employee> Employee { 獲取; 放; }

公共 DbSet<部門> 部門 { 獲取; 放; }

}

}

現在創建上下文類,使用它添加員工,如下所示:

命名空間 EF6Console {

類 ExProgram {

靜態 void main(string[], args) {

使用(var obj = newOfficeContext())

{

var emp = new Employee() { EmployeeName = “Peter” };

Obj.Employee.Add(emp);

Obj.SaveChanges();

}

}

}

}

另請閱讀:異常處理面試問題

6. 將 DAL 項目引用到 UI 項目

  • 通過右鍵單擊 UI 項目的引用來添加引用。

7. 啟用遷移

  • 導航到工具 > 包管理器 > 管理解決方案的 NuGet 包並運行以下命令:

啟用遷移

添加遷移初始創建

更新數據庫

8.添加控制器

  • 導航到 Controller > Add > New Controller 並使用 Entity Framework 選擇帶有視圖的 MVC 5 Controller。
  • 選擇模型類、上下文類和佈局頁面。

從世界頂級大學在線學習軟件課程獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

結論

使用本文中分享的步驟,您可以使用MVC 中的代碼優先方法。 使用代碼優先方法,您可以創建類和實體,然後更新數據庫。

如果您有興趣了解有關全棧開發的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發執行 PG 計劃,該計劃專為在職專業人士設計,提供 500 多個小時的嚴格培訓、9 個以上的項目,以及任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。

什麼是 MVC 框架?

MVC 代表模型-視圖-控制器。 它是軟件工程中使用的一種設計模式。 它允許關注點分離,這使得代碼更容易測試、更改和維護。 模型代表數據和業務邏輯。 通常,這是在用戶界面之外的單獨層中完成的。 視圖是用戶看到並與之交互的應用程序的一部分。 這是我們在設計用戶界面時實際設計的層。 控制器決定哪個控制器最適合處理每個請求。 當用戶與用戶界面交互時,它會向控制器發送請求。 控制器處理請求,然後將響應發送回用戶界面。

MVC 中的代碼優先方法是什麼?

在 ASP.NET MVC 框架中,代碼優先方法是一種開發模型,您首先編寫創建數據訪問層的代碼,然後編寫創建控制器和視圖的代碼。 在代碼優先的方法中,您創建一個模型,它是一個表示應用程序中數據的類。 然後創建一個數據訪問層,它是一組代碼,用於讀取數據並將數據寫入數據存儲。 請注意,代碼優先方法不必使用數據庫。 您可以使用代碼優先模型來創建任何類型的數據。

如何成為 MVC 開發人員?

如果你想成為一名 MVC 開發人員,那麼你必須了解一點 C# 或 Java。 它是一種用於編寫計算機程序的計算機語言。 學習一點 HTML 或 HTML5 是個好主意。 HTML 是用於編寫網頁的語言。 你應該學習一點 CSS。 CSS 是用於設置網頁樣式的語言。 您應該知道的最後一種語言是 JavaScript。 JavaScript 是一種用於向網頁添加交互性的編程語言。 MVC 是代表模型視圖控制器的首字母縮寫詞。 模型是信息存儲在計算機中的方式。 視圖是信息在屏幕上的顯示方式。 控制器是遊戲中處理輸入和輸出信息的部分。