![](/img/trans.png)
[英]Executing asp.net core EF migration in a class library without hardcoding connection string
[英]EF core - Creating a migration for a database without a connection string and in another class library
我想為與使用它的項目不同的類庫中的第二個和后續數據庫創建遷移。 有皺紋。 我永遠不會知道連接字符串,直到用戶登錄並且我可以從目錄數據庫 (saas) 中獲取它。
對於目錄數據庫,我使用了這個站點的解決方案。 很好 - 這個數據庫在 appsettings.json 中有它的連接字符串,並且可以使用依賴注入。
客戶端數據庫都將使用相同的遷移完全相同。 我的問題是,我不知道如何從包管理器控制台創建這個初始遷移..
我確實嘗試運行這個:
dotnet ef migrations add INITIAL --context APIcontext -s ../Jobsledger.API
它給了我以下錯誤:
尚未為此 DbContext 配置數據庫提供程序。
我所期望的。
鑒於在不同的類庫中運行遷移的 CodingBlast 解決方案(以上)需要一個我沒有的連接,並且需要在啟動時注冊數據庫連接......
..並且鑒於此遷移將由要創建的每個用戶數據庫使用,我該如何創建它,當然如何使用它?
我確實在這里回答了類似的問題。
您可以實現IDesignTimeDbContextFactory
,在其中實例化沒有連接字符串的 DbContext。
對於不同的庫,您可以使用 --project 和 --startup-project 參數。
這是我用來生成遷移腳本的示例:
dotnet ef migrations script --context MyDbContext --output migrations.sql --project "./MyApp.Data" --startup-project "./MyApp.Data"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.