小编Mat*_*ats的帖子

在使用DI添加dbcontext时是否需要调用context.dispose?

我有一个使用EF的ASP.NET CORE Web API.我想知道是否需要手动处理我的dbcontext.使用DI添加dbcontext时,我理解这是作为范围服务添加的,它为每个请求重新创建上下文.

我已将其注册为服务:

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<FeedbackContext>();
}
Run Code Online (Sandbox Code Playgroud)

并在控制器中使用如下:

public Controller(FeedbackContext context)
{
    _context = context;
}
Run Code Online (Sandbox Code Playgroud)

我是否需要在控制器中处理上下文,如下所示:

protected override void Dispose(bool disposing)
{
    if (disposing)
    {
        _context.Dispose();
    }
    base.Dispose(disposing);
}
Run Code Online (Sandbox Code Playgroud)

或者这是为我处理的?

c# entity-framework asp.net-web-api asp.net-core

4
推荐指数
1
解决办法
1388
查看次数