Instanciar um contexto no LINQ to Entities
i duas maneiras diferentes que os programadores abordam ao criar um contexto de entidade em seu códig
O primeiro é assim, e você pode encontrá-lo nos exemplos de código do MSDN:
public void DoSomething() {
using (TaxableEducationEntities context = new TaxableEducationEntities()) {
// business logic and whatever else
}
}
O segundo é criar o contexto como um atributo privado em alguma classe que encapsula sua lógica de negócios. Então você teria algo como:
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
}
}
De que maneira é mais eficiente?
Suponha que você tenha dois métodos, um chamado DoSomething1 () e outro chamado DoSomething2 (), e ambos os métodos incorporam a instrução using para abrir o contexto e fazer o que for necessário. Você deveria chamar um método após o outro, haveria uma sobrecarga supérflua acontecendo, já que essencialmente os dois métodos criam o contexto e depois limpam quando terminam? Em vez de ter apenas um atributo privado criado quando um objeto de classe é instanciado e, em seguida, limpo quando o objeto fica fora do escopo?