【发布时间】:2019-04-29 17:22:58
【问题描述】:
我目前正在为我的上下文使用 DI,如下所示。
services.AddTransient<APDatabase.DBContext>(provider =>
{
return new APDatabase.DBContext();
});
是否可以将当前登录的用户传递给这个?我目前在控制器中获取用户如下。
public NavigationController(APDatabase.DBContext context, IHttpContextAccessor httpContextAccessor)
{
this._context = context;
this._currentUser = httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
}
然后我可以在每个控制器的构造函数中将其设置为上下文的属性。这是我目前能看到的唯一方法,但如果可能的话,我希望让 DI 为我处理它。
【问题讨论】:
-
另外,请不要像现在这样注册 DbContext。请改用
Services.AddDbContext()
标签: c# asp.net-core asp.net-identity