Mat*_*ats 4 c# entity-framework asp.net-web-api asp.net-core
我有一个使用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)
或者这是为我处理的?
你不需要打电话Dispose.ASP.NET Core将为您做到这一点.使用时AddDbContext,上下文将作用于请求.请求完成后,将处理所有作用域对象.
实际上,您可以通过覆盖Dispose并在其中放置断点或记录某些内容来自行查看.
public class FeedbackContext : DbContext
{
public override void Dispose()
{
base.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1388 次 |
| 最近记录: |