Я попытался создать метод обновления, который должен изменить запись базы данных следующим образом:
[Update]
public void InsertMachinePM(MachinePM machinePM)
{
machine _machine = new machine();
_machine.machine_id = machinePM.MachineID;
int machineCategoryID = this.ObjectContext.machine_category.Where(so => so.title == machinePM.Category).FirstOrDefault().machine_category_id;
_machine.machine_category_id = machineCategoryID;
_machine.code = machinePM.Code;
_machine.description = machinePM.Description;
ObjectContext.machines.AddObject(_machine);
ChangeSet.Associate(machinePM, _machine, UpdateMachinePMKeys);
}
private void UpdateMachinePMKeys(MachinePM machinePM, machine _machine)
{
machinePM.MachineID = _machine.machine_id;
}
Код не изменяет существующую запись, но добавляет новую с измененными атрибутами и новым идентификатором.
Я пытался изменить последние две строки из первого метода
ObjectContext.machines.AddObject(_machine);
ChangeSet.Associate(machinePM, _machine, UpdateMachinePMKeys);
с ObjectContext.SaveChanges();
, но в этом случае метод не изменяет существующийлибо запись.
Поскольку я еще новичок в Silverlight и RIA, я был бы признателен, если бы кто-нибудь мог предложить метод изменения существующей записи путем изменения значений модели презентации.
Спасибо!