Я хотел бы иметь оптимизированную версию моего приложения на базе WinForms C # для более медленных соединений. По этой причине я хотел ввести столбец timestamp
во все таблицы (это изменение) и загрузить большинство вещей в первый раз, когда это необходимо, а затем просто прочитать обновления / вставки / удаления, которые могли бы сделать другие люди, использующие приложение.
Чтобы в этом вопросе был пример, я добавил в таблицу столбец timestamp
с именем Konsultanci
. Учитывая, что эта таблица может быть большой, я хотел бы загрузить ее один раз, а затем проверить наличие обновлений / вставок. Простым способом загрузить все это я делаю так:
private void KonsultantsListFill(ObjectListView listView)
{
using (var context = new EntityBazaCRM(Settings.sqlDataConnectionDetailsCRM)) {
ObjectSet<Konsultanci> listaKonsultantow = context.Konsultancis;
GlobalnaListaKonsultantow = listaKonsultantow.ToList(); // assign to global variable to be used all around the WinForms code.
}
}
Как мне проверить, изменилось ли что-нибудь на столе? Также как мне обрабатывать обновления в WinForms c#
? Должен ли я проверять изменения на каждом tabpage
выборе, открывать новые графические интерфейсы, сохранять, загружать клиентов, консультантов и так далее? Должен ли я обновлять все таблицы все время (например, запускать фоновый поток, который выполняется при каждом отдельном действии, которое выполняет пользователь? Или он должен выполняться только до конечной потребности в данных).
Я ищу здесь:
Общие рекомендации о том, как решить проблему с отметкой времени и обновить данные без необходимости загружать все данные несколько раз (проблемы с медленным подключением)
Пример кода с Entity Framework с учетом столбца отметки времени? В конечном итоге код, который будет использоваться до выполнения чего-то, что требует данных?