powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос про Entity Framework
15 сообщений из 15, страница 1 из 1
Вопрос про Entity Framework
    #38615554
Николай Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Подскажите как корректно работать с Entity Framework.
Как лучше использовать контекст создавать в виде поля, и дальше его использовать во всех методах
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    
    class PriceList : IDisposable
    {
        CRMEntities entities = new CRMEntities();
        public void Dispose()
        {
            if (entities != null)
            {
                entities.Dispose();
                entities = null;
            }
        }
     ................
   }


Либо создавать экземпляр в каждом методе?
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38615555
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай Н.создавать экземпляр в каждом методе?так
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38615609
Николай Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, Спасибо.
А не затруднит ответить почему? Дело плохого тона или что-то глубже?
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38615619
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай Н.Либо создавать экземпляр в каждом методе?Это может привести к нежелательной распределённой транзакции.

Есть ещё два способа:

1. Если речь идёт о сервере приложений (WCF, Asp.Net), то можно инжектировать контекст используя DI-контейнер. При этом, время жизни контекста привязать к вызову метода (WCF operation, http request и т. п.), используя LifeTimeManager DI-контейнера. В WPF-приложении такой подход применить, наверное (не пробовал), тоже можно, привязав удаление контекста к DispatcherHooks.DispatcherInactive Event .

2. Использовать ThreadStatic + счётчик ссылок (см Фабрика контекстов базы данных ).
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38615626
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку, навсякий: использование ThreadStatic затрудняет использование асинхронных операций.
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38617391
Николай Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем еще больше меня запутали))
Речь идет о WindowsForm и WPF под декстоп.
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38617467
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай Н.В общем еще больше меня запутали))Потому что не нужно бояться "плохого тона". Делайте как больше нравится и всё. Возможные варианты известны, надо выбрать наиболее подходящий, учитывая их преимущества и недостатки.
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38617473
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНиколай Н.В общем еще больше меня запутали))Потому что не нужно бояться "плохого тона".А зачем тогда DI и прочую фигню предлагаете?
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38617481
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай Н.Речь идет о WindowsForm и WPF под декстоп.В десктоп приложениях можно использовать один контекст (одно открытое соединение) во течение всего времени работы приложения.

Сколько пользователей работает одновременно?
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38617507
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Потому что не нужно бояться "плохого тона".А зачем тогда DI и прочую фигню предлагаете? Ничего не предлагаю. Просто огласил весь список. :-)

skyANAНиколай Н.Речь идет о WindowsForm и WPF под декстоп.В десктоп приложениях можно использовать один контекст (одно открытое соединение) во течение всего времени работы приложения.В декстоп приложениях ещё бывает многопоточность. Я бы не стал такое советовать. :-)
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38618624
Николай Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, в среднем человек 10.
Многопоточности нет.
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38618642
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай Н., смело можете использовать один контекст (одно открытое соединение) в течение всего времени работы приложения.
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38618683
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНиколай Н., смело можете использовать один контекст (одно открытое соединение) в течение всего времени работы приложения.Что будем делать с кэшем объектов, который присутствует в ObjectContext (DbContext), который будет копиться всё время работы программы, если его не отключить или не очищать время от времени?
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38618858
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай Н., а PriceList в первом посте у Вас - это что такое?
...
Рейтинг: 0 / 0
Вопрос про Entity Framework
    #38621647
Николай Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, в смысле? Просто один из классов.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос про Entity Framework
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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