Pal*_*Pal 27 c# garbage-collection entity-framework using-statement dbcontext
我有一个关于MVC的项目.我们为数据库交易选择了EF.我们为BLL层创建了一些管理器.我找到了很多例子,其中使用了" using"语句,即
public Item GetItem(long itemId)
{
using (var db = new MyEntities())
{
return db.Items.Where(it => it.ItemId == itemId && !it.IsDeleted).FirstOrDefault();
}
}
Run Code Online (Sandbox Code Playgroud)
这里我们创建一个新的DBcontext实例MyEntities().我们使用" using"以"确保正确使用IDisposable对象".
这只是我经理中的一种方法.但我有十多个.每当我从管理器调用任何方法时,我将使用" using"statemant并在内存中创建另一个DBcontext.什么时候垃圾收集器(GC)会处理它们?谁知道?
但是还有另一种使用管理器方法的方法.我们创建一个全局变量:
private readonly MyEntities db = new MyEntities();
Run Code Online (Sandbox Code Playgroud)
并在没有" using"语句的每个方法中使用DBcontext .方法看起来像这样:
public Item GetItem(long itemId)
{
return db.Items.Where(it => it.ItemId == itemId && !it.IsDeleted).FirstOrDefault();
}
Run Code Online (Sandbox Code Playgroud)
问题:
usage"语句(因为它会影响性能)怎么办 - GC会为此做些什么呢?我是EF使用中的"新手",但仍然没有找到这个问题的明确答案.
phi*_*ady 13
我想你会发现许多暗示这种风格的模式.不只是我或Henk DBContext处理
| 归档时间: |
|
| 查看次数: |
25275 次 |
| 最近记录: |