2015-07-17 3 views
0

На этот раз я здесь не потому, что у меня есть проблемы, но вопрос о сущностиобщие контекст между функциями (сущности)

У меня есть класс с именем БД, который делает все лицо называет. , потому что я ленив, все функции статичны. процесс для одной функции может привести к другой функции вызывает в этом классе ... создание нового объекта MyDBEntities каждый раз, вероятно, без изменений, которые не получают через SaveChanges()

это хорошая идея «поделиться» контекстом между всеми функциями? позвольте мне объяснить: я прочитал this question и я не хочу, чтобы сделать что-то вроде этого, но что-то подобное:

private static MyDBEntities context(MyDBEntities c) 
{ 
    if (c == null) 
     c = new MyDBEntities(); 
    return c; 
} 

и каждую функцию, как

public static randomfunction(object parameter1,MyDBEntities ctx = null) 
{ 
    ctx=context(ctx); 
    /*things*/ 
    randomfunction2(blablah,ctx); 
    /*awesome stuff*/ 
} 

это может быть хорошей идеей ?

ответ

0

Нет. Не ленитесь. Обработайте DbContext как единицу работы - создайте его, когда вам это нужно, и удалите его потом. При повторном использовании экземпляра он может зависеть от вашей памяти, потому что он будет отслеживать больше объектов, чем вы хотите. Вы также можете непреднамеренно сохранить изменения, которые вы не хотели бы сохранить, если один из методов оставляет грязный контекст.

Смежные вопросы