2

IConfigurationを(コンストラクタの)マイグレーションに注入しようとしましたが、例外があります:「このオブジェクトに対して定義されたパラメータのないコンストラクタはありません」マイグレーションに依存性を注入することはできますか(EF-Coreコードの最初のマイグレーションを使用して)?

どのような回避策ですか?

+0

サービスを導入することで達成しようとしていることの詳細を教えてください。 – bricelam

+0

@bricelam、データをdbに挿入する移行を作成しようとしましたが、このデータは他のdbのデータに依存しています(エンティティフレームワークにマップされていません)。移行は2番目のdb接続文字列(これはdev/staging/prod envsでは同じではないため)の設定から取得する必要があります。私たちは最終的にすべてのenvで手動でスクリプトを実行します。 – arielorvits

答えて

5

移行できない場合、移行はアプリケーションのコンテキスト外で実行できる必要があります。

エンティティフレームワークのコマンドラインツールはコードを解析しますが、startup.csクラスは実行しません。

また、それはお勧めできません。移行は簡単でシンプルで、何にも依存してはいけません。そのような場合は、実行時の副作用が大きくなる可能性があります。欠落している設定では、本番環境のテーブルや列が見つからないことがあります。

関連する問題