powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Хранение Linq DataContext'a
3 сообщений из 3, страница 1 из 1
Хранение Linq DataContext'a
    #37316308
nons111ww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как известно, 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
Хранение Linq DataContext'a
    #37316310
nons111ww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Хранение Linq DataContext'a
    #37316864
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про статические классы рассказывать?

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


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