目標
為現有數據庫生成新的連接,允許只選擇部分表
可以處理一些很怪的需求,比如EF升級EF Core(這個可能有其他解),EF、EF Core同時連接一個數據庫
我遇到的問題是:
原項目是.net framework的,現在要引用identityserver 4,實現SSO,但是不能重建用戶表,需要使用原有的由ef code first生成的用戶表
在經過多種方案之后,最終決定新建一個ef core,連接現有數據庫
操作
安裝包
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Microsoft.VisualStudio.Web.CodeGeneration.Design
使用指令
Scaffold-DbContext "Data Source=IP; Database=DbName; User ID=sa; Password=password;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Tables -Tables Table1,Table2
參數說明:
OutputDir 輸出文件夾(這里取名為"Tables")
Tables 選擇的表,默認全部
注意
會生成一個dbcontext,如果該項目原有dbcontext,需要手動拷貝一下,主要是遷移Tables+OnModelCreating
參考資料
https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db