我正在提高具有 200 多个 winForms 的大型 HIS 应用程序的速度和资源使用率,它们使用如下 entityContext:
private void someMethod()
{
var context = new entityContext();
var qry = context.someTable.Where(x=>x.condition);//bring thousands of records
...
... do some thing with result
...
//EOF method. here is problem :
/*
* is context will be free all the records that brings to ram
* in the end of method without using context.Dispose()?
* i think NO!
*/
}
有没有办法找到在表单中创建的所有 entityContext 对象并处理它们?
如果我在 winForms Closed 事件this.Dispose(true);
中使用是否足以处理所有这些?
public class myForm : System.Windows.Forms.Form
{
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
/*
* TODO:
* find all entityContext objects and dispose them
*/
this.Dispose(true);
}
}
我没有时间编辑所有代码以将所有entityContext
对象包装在一个using{}
子句中或手动添加context.Dispose()
到它们等等......
我正在寻找一种方法来处理所有OnClosed()
这些可能吗?