Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как ограничить занимаемый объем контекста, хранящим уже не нужные данные ? / 6 сообщений из 6, страница 1 из 1
26.07.2017, 16:49
    #39495431
TsHeloWorlder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ограничить занимаемый объем контекста, хранящим уже не нужные данные ?
Подскажите пожалуйста вот что.
Есть программа, которая получает на вход кучу строк-входных параметров, обрабатывает их по отдельности и сразу-же записывает результат в бд (по результату обработки каждой строки). Плюс логгирует каждый шаг обработки (каждой строки). При этом самой программме данные, после их загрузки в БД, не нужны. Но, как я понимаю, они будут хранится в контексте неопределенно долго. Т.е. контектс будет расти и пухнуть. Кстати есть ли ограничение, или пухнуть он будет пока не займет всю память ?

Можно ли как-то "отчищать" контекст от накопленных данных ? Или только пересоздание поможет ?
...
Рейтинг: 0 / 0
26.07.2017, 20:48
    #39495573
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ограничить занимаемый объем контекста, хранящим уже не нужные данные ?
TsHeloWorlder,

Отключай трекинг, тогда EF не будет ничего кешировать. Если речь идёт про EF конечно.
...
Рейтинг: 0 / 0
27.07.2017, 11:13
    #39495825
Gluck_13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ограничить занимаемый объем контекста, хранящим уже не нужные данные ?
TsHeloWorlder,

Если использовать кеширование MetadataWorkspace (см., например, https://stackoverflow.com/questions/9548574/entity-framework-memory-usage-with-a-shared-model ), то создание нового ObjectContext будет достаточно недорогой операцией (по крайней мере, по сравнению с необходимым взаимодействием с БД). Так что, если необходим трекинг, можно поднять новый ObjectContext, обработать в нем некоторую порцию данных, после чего Dispose.


hVostt,

А как без трекинга производить запись в БД? Как я понял, ТС-у нужно именно это.
...
Рейтинг: 0 / 0
27.07.2017, 12:37
    #39495926
TsHeloWorlder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ограничить занимаемый объем контекста, хранящим уже не нужные данные ?
ок, спс.
...
Рейтинг: 0 / 0
27.07.2017, 12:39
    #39495930
TsHeloWorlder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ограничить занимаемый объем контекста, хранящим уже не нужные данные ?
Gluck_13hVostt,

А как без трекинга производить запись в БД? Как я понял, ТС-у нужно именно это.

Ну да, нужно конечно. Результаты по каждой входной строке + детализация шагов алгоритма в лог-таблицу.
...
Рейтинг: 0 / 0
27.07.2017, 15:22
    #39496111
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ограничить занимаемый объем контекста, хранящим уже не нужные данные ?
Gluck_13А как без трекинга производить запись в БД? Как я понял, ТС-у нужно именно это.

Да мне вообще кажется, что ТС-у не нужен EF.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как ограничить занимаемый объем контекста, хранящим уже не нужные данные ? / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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