使用 Entity Framework 迁移命令时,是否有办法配置/引导依赖注入?
Entity Framework Core 支持为 DbContext
子类进行依赖注入。该机制包括允许在 DbContext
之外配置数据访问。
例如,下面的代码将配置 EF 以使用从 config.json
检索到的连接字符串将数据持久化到 SQL Server 中:
ServiceCollection services = ...
var configuration = new Configuration().AddJsonFile( "config.json" );
services.AddEntityFramework( configuration )
.AddSqlServer()
.AddDbContext<BillingDbContext>( config => config.UseSqlServer() );
然而,迁移命令不知道如何执行此代码,因此Add-Migration
由于缺乏提供程序或连接字符串而失败。
可以通过在DbContext
子类中覆盖OnConfiguring
来指定提供程序和配置字符串,使迁移工作,但是当需要在其他地方使用不同的配置时,这会变得复杂。最终保持迁移命令和我的代码都正常工作变得令人不太满意。
注意:我的DbContext
位于与使用它的入口点不同的程序集中,我的解决方案有多个启动项目。
Startup.ConfigureServices()
。您认为对于非ASP.NET 5项目使用相同的约定是否好? - bricelam