【发布时间】:2020-08-26 08:00:53
【问题描述】:
我有一个接口IRepository<TEntity> 和一个通用存储库Repository<TEntity, TContext>。 GameRepository 和 UserRepository 是从 Repository<TEntity, TContext> 扩展而来的。我不想手动添加存储库,而是想在一行中完成。我已经尝试过 answer 中的单行解决方案,但它似乎不适用于我的情况。
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddDbContext<ApplicationDBContext>(options =>
options.UseMySql(Configuration.GetConnectionString("DefaultConnection"))
);
services.AddScoped<GameRepository>();
services.AddScoped<UserRepository>();
}
【问题讨论】:
-
你的意思是你只想用一行来注册GameRepository和UserRepository?在我看来,我们不能这样做,因为 GameRepository 和 UserRepository 是不同的类。我们无法使用 DI 在您的服务中新建两个不同的类。
-
还有哪些其他解决方案可以做类似的事情?
标签: dependency-injection asp.net-core-mvc