2

我試圖將IConfiguration注入到遷移中(在構造函數中),並且得到異常:「沒有爲此對象定義無參數的構造函數」。我可以將依賴注入到遷移中嗎(使用EF-Core代碼優先遷移)?

任何解決方法?

+0

你能否更詳細地描述一下你想通過注入服務來完成什麼? – bricelam

+0

@bricelam,試圖編寫將數據插入到數據庫的遷移,這些數據取決於其他數據庫(未映射到實體框架)中的數據。因此遷移應該從配置第二個數據庫連接字符串(因爲這對dev/staging/prod envs不同)。我們最終在所有的envs上手動運行腳本。 – arielorvits

回答

5

你不能,遷移需要能夠在應用程序的上下文之外運行。

由於Entity-framework命令行工具分析您的代碼,但不運行startup.cs類。

也是不可取的。你的遷移應該很簡單,不依賴於任何東西。如果可能的話,它可能會導致主要的運行時副作用,其中缺少配置可能會導致生產中缺少表或列。