2013-09-16 4 views
0

У меня проблема с визуальной студией или сущностью. Ситуация проста: У меня есть Employés, и я быть_наст данные вид сетки для настоящего времени, когда я нажимаю на Edit служащем, я получить идентификатор из служащегоEntity Framework не перезагружает мои ОБНОВЛЕНО данные

int employeID= Convert.ToInt32(dgvEmployes.SelectedRows[0].Cells[0].Value); 
frmEditEmploye edit = new frmEditEmploye(); 
edit.employ = new ePoliticsServis.Data.Employ(); 
edit.employ= eServis.Data.EmployesService.SelectEmployeById(employeID); 

и я получаю служащий из БДА, и я загрузить служащий в новая форма для редактирования, и я сохраняю обновленную дату и перехожу в таблицу обновления базы данных, и все хорошо, все обновлено, но проблема в том, что когда я вернусь на просмотр, представление datagrid (datagrid обновляется с новыми данными, привязкой, все в порядке) и снова щелкните на том же занятии для редактирования, у меня есть форма для редактирования, но со старыми данными, нет с новыми обновленными данными из базы данных для одного и того же сотрудника, когда я сбил мое приложение и снова запустился, после чего я получил новые данные, обновленные и обновленные. Я действительно не знаю, где проблема.

ответ

0

Я подозреваю, что проблема заключается в том, что ваш контекст данных извлекает данные из памяти, а не базу данных, см. предыдущий answer из моих возможностей для возможного решения.

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

Из вашего последнего комментария я вижу, что вы, вероятно, не правильно используете свой контекст, я думаю, что это называется «соединение» в вашем коде. Это, вероятно, является переменная-член класса,

Вы, вероятно, нужно изменить способ что-то вроде этого:

// Вы должны проверить тип соединения и использовать его здесь. Я использую «Connection», потому что я не знаю названия вашего контекста.

Using (var myContext = new Connection()) 
{ 
    var returnValue = myContext.dm.epsp_Employ_SelectById(id).FirstOrDefault(); 
} 

return returnValue; 

Еще одна вещь ... Проверьте, что база данных обновляется после сохранения записи. Если вам не нужно называть SaveChanges().

+0

да, я думаю, мне нужно обновить свой контекст db? где я это сделаю? –

+0

context.Refresh (RefreshMode.StoreWins, myObject); Это пример refreehs, где я буду называть этот метод? и я найду имя моего контекста? –

+0

Из того, что я вижу в вашем примере кода, это скорее всего будет в методе eServis.Data.EmployesService.SelectEmployeById. – Damon

Смежные вопросы