如何解决依赖项注入的多种实现-ASP.NET Core
我有一个接口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>();
}
解决方法
还有哪些其他解决方案可以做到类似的事情?
据我所知,没有办法做类似的事情,如果您仍然想使用一行,建议您考虑创建一个服务连接扩展方法。
您可以创建如下的ServicesConfiguration类:
public static class ServicesConfiguration
{
public static void AddCustomServices(this IServiceCollection services)
{
services.AddScoped<GameRepository>();
services.AddScoped<UserRepository>();
}
}
然后,您只需使用一行即可注册此服务:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddCustomServices();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。