Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我必须使用“;使用;DbContext的实体框架6中的块_C#_Entity Framework_Entity Framework 6_Dbcontext - Fatal编程技术网

C# 我必须使用“;使用;DbContext的实体框架6中的块

C# 我必须使用“;使用;DbContext的实体框架6中的块,c#,entity-framework,entity-framework-6,dbcontext,C#,Entity Framework,Entity Framework 6,Dbcontext,这个问题不是关于c#的一般“使用”,也不是关于何时/为什么使用它等等 问题是,DBContext对象是否自行处理连接,因此我不需要使用using使其进行处理,这是毫无疑问的,因此不要将其标记为重复的 using (DBContext db = new DBContext()) { var Order = db.Order.First(r => r.OrderID == 6); Order.Type = 6; db.SaveChanges(); } 或者不使用 D

这个问题不是关于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时,编译器会自动创建try/finally块并在finally块中调用dispose。

使用的影响之一是当您处理急切加载和延迟加载时。查看此答案的最后一部分以了解更多详细信息