Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Хранение Linq DataContext'a / 3 сообщений из 3, страница 1 из 1
20.06.2011, 17:03
    #37316308
nons111ww
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение Linq DataContext'a
Как известно, EntityFramework DataContext - достаточно тяжеловесный. Т е его не желательно создавать избыточное количество раз. В интернете достаточно статей по поводу хранения его в HttpContext items, т е на протяжении жизни запроса.

Что же касается Linq2sql, насколько это целесообразно?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
        public static UmbracoContext Get()
        {
            if(HttpContext.Current.Items["DbContext"] == null)
                HttpContext.Current.Items.Add("DbContext", new UmbracoContext());

            return (UmbracoContext) HttpContext.Current.Items["DbContext"];
        }

и затем

Код: plaintext
1.
2.
3.
4.
            var dispObj = HttpContext.Current.Items["DbContext"] as IDisposable;
            if(dispObj != null)
                dispObj.Dispose();


На мсдн пишут что контекст linq легковесный и может создаваться для "Unit of work". Выиграю я или проиграю, используя вышеизложенную технику?

Спасибо!
...
Рейтинг: 0 / 0
20.06.2011, 17:04
    #37316310
nons111ww
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение Linq DataContext'a
nons111ww,

т е

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
        protected void Application_EndRequest(object sender, EventArgs e)
        {
            var dispObj = HttpContext.Current.Items["DbContext"] as IDisposable;
            if(dispObj != null)
                dispObj.Dispose();
        }

...
Рейтинг: 0 / 0
20.06.2011, 22:43
    #37316864
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение Linq DataContext'a
Про статические классы рассказывать?

P.S. Никакой тяжеловесноти в EF нет. Создавайте и уничтожайте контекст согласно нуждам, экономить на спичках дороже выйдет. Во-вторых, глобальный долгоиграющий контекст чреват ошибками, которые разрабочик может допустить в процессе разработки. А вот в NHibernate фабрика ISessionFactory действительна тяжеловесна, вот тут без глобализации точно не обойтись.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Хранение Linq DataContext'a / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]