Я создал приложение на C # (.Net 4.0 framework). Открывающейся частью приложения является окно входа в систему, в котором пользователь должен ввести свои учетные данные, а после успешного входа в систему появляется другое окно с текстовым полем и под ним два списка.
Пользователь вводит число в текстовое поле и нажимает кнопку OK, после чего приложение ищет в этой базе данных базу данных SQL. Если он существует в базе данных, он заполняет список соответствующей информацией.
Пользователь может выйти из системы, нажав кнопку в том же окне.
Теперь перейдем к основной части. В сети есть центральная база данных, расположенная на сервере MSSQL. Он содержит всю информацию из прошлых сессий и другого процесса (также от разных пользователей). Я использую следующий метод для обновления базы данных, чтобы очистить старые значения из последнего сеанса другого пользователя.
public void refreshDB()
{
db.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, db.DB1);
db.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, db.User);
db.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, db.DB2);
db.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, db.DB3);
}
- db.DB1 имеет 200 строк
- db.User имеет 200 строк.
- db.DB2 имеет 10000 строк.
- db.DB3 имеет 10000 строк.
Обновление DB2 и DB3 занимает больше времени. И учитывая мои данные будут расти со временем. Боюсь, это займет больше времени.
Я пытался не обновлять базу данных. Тогда у меня все еще есть старые значения в форме из старого сеанса другого пользователя.
Могу ли я отказаться от этого метода и просто очистить значения в форме для каждого входа в систему? Или есть эффективный способ обновления базы данных без потери времени (в будущем база данных может вырасти до тысяч тысяч точек данных).
Любые предложения и идеи очень полезны.
Заранее спасибо.