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

时间:2018-07-10 09:34:07

标签: c# entity-framework entity-framework-6 dbcontext

这不是关于c#的“使用”的问题,,不是关于何时/为什么使用它的问题。

问题是,DBContext对象是否自行处理连接,因此,我不需要使用<input type="checkbox" name="status" <?php if(your_condition) { ?> checked <?php } ?> id="status" value="1"> 来进行处理,因此毫无疑问,因此不要标记重复

using

或者不使用

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

因为我在this source中看到DBContext db = new DBContext(); var Order = db.Order.First(r => r.OrderID == 6); Order.Type = 6; db.SaveChanges(); 不是必需的,最好不要使用它。

实体框架会为我分配连接吗?

1 个答案:

答案 0 :(得分:1)

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

使用using时,编译器会自动创建一个try / finally块并将调用dispose放在finally块中。