|
Долгое сохранение через dbContext
|
|||
---|---|---|---|
#18+
Здравствуйте. Проект не веб. WinForms. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2015, 07:25 |
|
Долгое сохранение через dbContext
|
|||
---|---|---|---|
#18+
Быстро опубликовалось, изменить не могу. Суть вот в чём. Есть форма, на неё грузится куча данных, таблица на основе bindingList'a объектов. Далее одну строчку нужно изменить, сохранить изменения в БД. Сохранение длится где-то 6 секунд. Смотрю сontext.ChangeTracker.Entries().Count(), 11000 объектов. Создаю в сохранении новый контекст, беру айдишник выбранной строки-объекта, вытаскиваю из базы этот объект, присваиваю ему все значения из таблицы (в том числе и обновлённые), сохраняю - в сontext.ChangeTracker.Entries().Count() - 9 объектов, сохранение длится 500 миллисекунд, что вполне приемлемо. Выход вроде бы найден, но какой-то он кривой, ИМХО. Зачем в ChangeTracker записываются все эти 11000 объектов, которые не будут меняться? Почему я не могу один единственный объект в этот Change Tracker запихать, чтобы при сохранении только его изменения и рассматривались? Или как-то можно? Не было ли у кого-нибудь таких проблем и как их обходили? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2015, 07:33 |
|
|
start [/forum/topic.php?fid=17&tid=1349637]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
148ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 252ms |
0 / 0 |