昨天說了怎麼用 Code First 的方式,先撰寫資料模型再執行 Migration 來建立資料庫。今天就來看看怎麼用 Database First
的方式,把既有的資料庫轉換成資料模型。為了方便說明 (其實是偷懶),我們用昨天建立的 todo.db
來做示範。開始前記得先刪除昨天建立的資料模型跟 DbContext 類別XD
私心推薦個人覺得很好用的資料庫設計工具:DbSchema
在套件管理主控台中執行以下命令:
Scaffold-DbContext "Data Source=./todo.db" Microsoft.EntityFrameworkCore.Sqlite -OutputDir Models/DatabaseFirst
或者以 dotnet CLI 來執行:
dotnet ef dbcontext scaffold "Data Source=./todo.db" --output-dir Models/DatabaseFirst
執行後會在 Models/DatabaseFirst
資料夾中產生 Todo.cs
資料模型和 todoContext.cs
兩個檔案(因為我們的資料庫檔案是 todo.db
,所以會產出小寫開頭的 todoContext.cs
)
其他設定、注入和 CRUD 的方式跟昨天一樣,就算今天篇幅很少我也不好意思貼過來佔篇幅了 ("艸)