需求:我们在服务中注册的实例在Controller可以通过构造函数映射出来,那么如果不是在Controller中我们应该怎么取呢?
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
//for Add-Migration and services
var connection = "server=127.0.0.1;user=root;pwd=123456;database=CommonUtils.Test.Web;";
//注册
services.AddDbContext<DbDefault>(options => options.UseMySQL(connection));
//获取ServiceProvider
var serviceProvider = services.BuildServiceProvider();
//取出放入静态变量
DbList.Default = serviceProvider.GetService<DbDefault>();
//趁着程序启动做一下数据迁移
DbList.Default.Database.Migrate();
}
感谢下面的文章:
本文详细介绍了在ASP.NET Core中如何在非Controller环境中通过配置IServiceCollection来注册和获取服务实例,包括数据库上下文的注册与使用,以及利用BuildServiceProvider进行服务的获取。
1258

被折叠的 条评论
为什么被折叠?



