2

我试图将IConfiguration注入到迁移中(在构造函数中),并且得到异常:“没有为此对象定义无参数的构造函数”。我可以将依赖注入到迁移中吗(使用EF-Core代码优先迁移)?

任何解决方法?

+0

你能否更详细地描述一下你想通过注入服务来完成什么? – bricelam

+0

@bricelam,试图编写将数据插入到数据库的迁移,这些数据取决于其他数据库(未映射到实体框架)中的数据。因此迁移应该从配置第二个数据库连接字符串(因为这对dev/staging/prod envs不同)。我们最终在所有的envs上手动运行脚本。 – arielorvits

回答

5

你不能,迁移需要能够在应用程序的上下文之外运行。

由于Entity-framework命令行工具分析您的代码,但不运行startup.cs类。

也是不可取的。你的迁移应该很简单,不依赖于任何东西。如果可能的话,它可能会导致主要的运行时副作用,其中缺少配置可能会导致生产中缺少表或列。