пятница, 30 сентября 2011 г.

Использование контекста EF во времени

Меня давно интересовал такой вопрос: какой продолжительностью времени жизни должен обладать контекст Entity Framework?

И вот недавно я нашел ответ:
http://stackoverflow.com/questions/3653009/entity-framework-and-connection-pooling

Если кратко, то каждый раз когда мы выполняем логическую (бизнес?) операцию, так как EF позаботится о сохранении всех метаданных и поэтому повторное создание контекста будет быстрым. В свою очередь DB provider должен позаботиться о пуле соединений.

пример:
using (SupplierServiceEntities Context = GetContext())
      {
        Session s = (from sess in Context.Sessions
               where sess.Sid == sid && EntityFunctions.AddMinutes(sess.DateOfLastAction, ExpireSessionTimeoutMinutes) > DateTime.Now
               select sess).FirstOrDefault();
        if (s != null)
          return true;

        return false;
      }


* This source code was highlighted with Source Code Highlighter.

Комментариев нет:

Отправить комментарий