Я видел два разных подхода к программистам при создании контекста сущности в своем коде.
Первый такой, и вы можете найти его во всех примерах кода 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, чтобы открыть контекст и делать с ним что угодно. Если бы вы вызывали один метод за другим, будут ли происходить какие-то лишние издержки, поскольку по сути оба метода создают контекст, а затем очищают его, когда все готово? В отличие от наличия только одного закрытого атрибута, который создается, когда создается экземпляр объекта класса, а затем очищается, когда объект выходит из области видимости?