我见过程序员在代码中创建实体上下文时采用的两种不同方式。
第一个是这样的,你可以在 MSDN 代码示例中找到它:
public void DoSomething() {
using (TaxableEducationEntities context = new TaxableEducationEntities()) {
// business logic and whatever else
}
}
第二个是将上下文创建为封装业务逻辑的某个类中的私有属性。所以你会有类似的东西:
public class Education_LINQ {
private TaxableEducationEntities context = new TaxableEducationEntities();
public void DoSomething() {
var result = from a in context.luAction
select a;
// business logic and whatever else
}
}
哪种方式更有效?
假设您有两种方法,一种称为 DoSomething1(),另一种称为 DoSomething2(),并且这两种方法都包含 using 语句来打开上下文并对其执行任何操作。如果您要一个接一个地调用一个方法,是否会产生任何多余的开销,因为本质上这两种方法都会创建上下文,然后在完成后将其清除?与仅在实例化类对象时创建一个私有属性相反,然后在对象超出范围时依次清理?