gpt4 book ai didi

c# - Entity Framework DataContext 问题 - 它是否在我的 Controller 中得到正确处理?

转载 作者:行者123 更新时间:2023-11-30 13:27:21 24 4
gpt4 key购买 nike

我收到了一些代码,在 Controller 类中有一个属性保存初始化的数据库上下文。

public class MyController: Controller
{
protected AssetManagerContext db = new AssetManagerContext("ConnectionString");
// Actions...etc.

[HttpGet]
public ActionResult Edit(int id)
{
MyAsset myAsset = db.Assets.Find(id); // Used and not disposed
return View(myAsset);
}
}

大多数操作都使用了这个 Context 而没有处理它,我担心的是 context 保持打开状态。

  1. 我是否需要担心未明确关闭此上下文(通过 .Dispose() 或使用 {} 语句

  2. 如果我担心的话,我应该如何处理这种情况,因为变量是类的一部分并且跨操作使用?

最佳答案

Controller类有一个dispose方法。因此,在您的 Controller 中重写该方法并释放该上下文。

protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
db.Dispose();
}

上下文完成后会自动调用。

关于c# - Entity Framework DataContext 问题 - 它是否在我的 Controller 中得到正确处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12096559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com