【发布时间】:2016-10-25 14:07:02
【问题描述】:
我一直在将我的存储库类映射到它的接口,服务也是如此。在这里我可以手动注册它们。但是我希望我的代码在运行时动态映射它们,这样我就不必在每次创建新的存储库或服务时手动注册它们。我怎样才能做到这一点?
这是我的代码:
public void RegisterDependencies(IServiceCollection services, IConectionSetting connectionSetting)
{
services.AddDbContext<QuantumDbContext>(options => options.UseSqlServer(connectionSetting.Get()));
//services.AddDbContext<TestDbContext>(options => options.UseSqlServer(databaseFactory.ConnectionString));
services.AddTransient<IDatabaseFactory, DatabaseFactory>();
services.AddTransient<IDbContext, TestDbContext>();
services.AddTransient<IDbContext, QuantumDbContext>();
services.AddTransient<IUnitOfWorkManager, UnitOfWorkManager>();
services.AddTransient<IRepository<CodeTable>, Repository<CodeTable>>();
services.AddTransient<IRepository<Country>, Repository<Country>>();
services.AddTransient<IRepository<State>, Repository<State>>();
services.AddTransient<IRepository<City>, Repository<City>>();
services.AddTransient<ICodeTableService, CodeTableService>();
services.AddTransient<ICountryService, CountryService>();
}
【问题讨论】:
标签: c# asp.net-core dependency-injection asp.net-core-mvc entity-framework-core