【问题标题】:Must I use "Using" block in Entity Framework 6 for DbContext我必须在实体框架 6 中为 DbContext 使用“使用”块吗
【发布时间】:2018-12-18 02:20:59
【问题描述】:

这个问题不是关于 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();

因为我在this source 中看到using 不是必需的,最好不要使用它。

Entity Framework 会为我处理连接吗?

【问题讨论】:

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2013-12-26
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多