Сохранение «ссылки» на объект строки в течение длительного времени - PullRequest
0 голосов
/ 29 октября 2008

В моем приложении я сохраняю объект LINQ, выбранный из базы данных, и регулярно изменяю его, а затем db.SubmitChanges().

Я читал, что вы не должны держать объект DataContext в течение длительного времени. Но если я закрываю свой DataContext между модификациями, я предполагаю, что объект данных теряет свою связь с реальной строкой базы данных.

Какая лучшая альтернатива для сохранения открытого DataContext? Мне действительно нужно перезагружать строку каждый раз, когда я хочу ее обновить?

Ответы [ 2 ]

1 голос
/ 29 октября 2008

в противном случае вы можете выполнить прямой SQL-запрос к базе данных, чтобы сделать обновление как можно быстрее.

Из-за проблем параллелизма оператор Linq UPDATE по умолчанию не является наиболее оптимальным из-за чрезмерного сравнения. взгляните на профилировщик SQL или используйте визуализатор SQL Linq.

// * 1005 Энди *

0 голосов
/ 29 октября 2008

Перезагрузка строки, когда вы хотите обновить ее, не должна сильно влиять на производительность, и это гарантирует, что вы обновляете последнюю версию строки (в случае, если другой пользователь / процесс изменил ее с момента вашего первого открытия). это).

Если вы знаете, что больше ничего не будет обновлять строку, то вы, вероятно, можете сохранить DataContext без особых проблем (исключая потерю соединения с базой данных).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...