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