如何在Entity Framework生成的控制器中注入IConfiguration依赖?
在Entity Framework自动生成的控制器中注入IConfiguration的方法
其实很简单,ASP.NET Core的依赖注入机制就是通过构造函数注入来工作的,你只需要对现有的控制器做一点修改,就能轻松引入IConfiguration来读取appsettings.json里的配置。具体步骤如下:
第一步:修改控制器的构造函数,添加IConfiguration注入
首先在你的ContatosController里添加一个私有字段来保存IConfiguration实例,然后更新构造函数,把IConfiguration作为参数传进来:private readonly controle_eventosContext _context; private readonly IConfiguration _configuration; public ContatosController(controle_eventosContext context, IConfiguration configuration) { _context = context; _configuration = configuration; }完成后,你就可以在控制器的任意方法里通过
_configuration读取配置了,比如读取数据库连接字符串:var connectionString = _configuration.GetConnectionString("controle_eventosContext");或者读取自定义配置项:
var customSetting = _configuration["MyCustomSettings:SomeKey"];第二步:确认Startup.cs的配置(无需额外操作)
你不需要在Startup.cs里额外注册IConfiguration,因为ASP.NET Core框架已经默认把它注册到依赖注入容器里了——你现在用来获取数据库连接字符串的connection变量,其实就是从IConfiguration里读取来的对吧?所以这一步你完全不用改现有代码。
如果需要读取更复杂的配置结构,还可以创建对应的模型类,用_configuration.GetSection("SectionName").Get<YourModel>()来绑定配置,这样用起来更规整。
内容的提问来源于stack exchange,提问作者Andre.Santarosa
相关产品推荐
相关产品推荐

