使用
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<IDatabase>(x =>
{
return new Database(Configuration.GetConnectionString("Default"), DatabaseType.MySQL, MySql.Data.MySqlClient.MySqlClientFactory.Instance);
});
services.AddScoped(typeof(UserRepository));
}
区别
AddTransient
每次注入的都是新实例,相当于手动 new
。
AddScoped
每次请求,都获取一个新的实例,在一个请求中,获取多次会得到相同的实例。
AddSingleton
每次都获取同一个实例
转载请保留原文链接: https://zodream.cn/blog/id/147.html