如何在startup.cs中使用参数注入服务。如何注入SqlConneciton?
public class AirportService : IAirportService
{
public AirportService(SqlConnection con)
{
var airportRepository = new AirportRepository<Airport>(con);
}
}
答案 0 :(得分:2)
首先,你必须像这样注册你的服务:
public void ConfigureServices(IServiceCollection services)
{
...
services.AddTransient<IMyService, MyService>();
}
只有构造函数注入才有可能。在您的示例中,您需要使用接口注册SqlConnection(如上例所示)。然后框架将在注入时创建新实例。
关于依赖注入,我建议你先来看看Dependency Injection
BUT!我不知道注入SqlConnection是一个好方法。我建议创建某种工厂ConnectionFactory: IConnectionFactory
,注入它,然后使用ConnectionFactory
创建新连接(从池中取出一个)。