我必须在 Entity Framework 6 中为 DbContext 使用“Using”块吗

问题描述 投票:0回答:1

这个问题不是关于C#一般的“使用”,而不是关于何时/为什么使用它等..

问题是,DBContext对象是否自行处理连接,因此我不需要使用

using
来处理它,这是没有问题的,所以不要将其标记为重复

using (DBContext db = new DBContext())
{
    var Order =  db.Order.First(r => r.OrderID == 6);
    Order.Type = 6;
    db.SaveChanges();
}

或者不使用

DBContext db = new DBContext();
var Order =  db.Order.First(r => r.OrderID == 6);
Order.Type = 6;
db.SaveChanges();

因为我在这个来源中看到

using
不是必需的,最好不要使用它。

实体框架会为我处理连接吗?

c# entity-framework entity-framework-6 dbcontext
1个回答
2
投票

上下文的生命周期从实例创建时开始,到实例被释放或垃圾回收时结束。如果您希望上下文控制的所有资源都在块的末尾释放,请使用

using

当您使用

using
时,编译器会自动创建
try
/
finally
块,并在
Dispose()
块中调用
finally

© www.soinside.com 2019 - 2024. All rights reserved.