前言
交接前夕曾經丟了 EF 環境忘記把注意事項列給他們,包含自己不時會忘記這個使用方式。DBContext其實可以本身就可以讓空白DB創建出來,主要問題是如何使用無 .sql 之類檔案來建置、開啟環境。
Code First
顧名思義是由 Code 決定有甚麼資料、對應寫回DB。如果假設一開始使用 DB First 也沒關係,兩者是不影響本章節。
前置作業
建立類別(資料模型)
DB First 會自動創建 類別,所以無需加入類別檔案。若是 Code First 可以參考 【ATai】大大如何使用。
1  | public class Post  | 
1  | public class User  | 
建立DBContext
需要定義連線字串以及資料模型。
1  | public class BlogContext : DbContext  | 
使用 Migration
Migration 是 Entity Framework 中用於管理資料庫架構變更的機制之一。它允許您透過撰寫 C# 代碼來描述資料庫架構的變更,並將這些變更應用到資料庫中。
當您執行 Migration 時,EF Core 會生成 SQL 語句,這些語句將變更應用到資料庫。這些 SQL 語句可以應用到任何支援的關聯式資料庫中,包括 Microsoft SQL Server、MySQL、PostgreSQL 等。
需要取得的套件
創建 Migration
DB First 需要執行這段,主要原因是為了抓取當前 DbContext 紀錄,概念如同快照一樣。
1  | dotnet ef migrations add init --context BlogContext  | 
更新目標資料庫
1  | dotnet ef database update --context BlogContext  | 
參考資料
- 【Entity Framework Core 的 CodeFirst與資料庫版控 - 我與 ASP.NET Core 3 的 30天
】: https://ithelp.ithome.com.tw/articles/10240606 
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 John Conte Blog!
 評論
DisqusGitalk






![[筆記] Synology 創建 Docker datalust/seq 環境](/image/20250810_08-15-28.png)
![[DevOps] 創建一個 docker agent](/image/20250810_08-16-08.png)