Я пытаюсь выполнить прямое обновление, используя LinqToSQL, и просто не могу заставить его работать.
Вот модель данных: есть timesheet_entry и customer . Один клиент имеет много timesheet_entries . Это простое отношение внешнего ключа.
Если я редактирую существующий timesheet_entry, я получаю исключение, если меняю customer_id.
Вот моя попытка кода. Может ли кто-нибудь помочь мне здесь?
internal void CommitChangesToEntry(Timesheet_Entry entry)
{
Timesheet_Entry latest = (from e
in m_dataContext.Timesheet_Entries
where e.Timesheet_Entry_ID == entry.Timesheet_Entry_ID
select e).First();
latest.Entry_Start_DateTime = entry.Entry_Start_DateTime;
latest.Entry_End_DateTime = entry.Entry_End_DateTime;
latest.Task_Description = entry.Task_Description;
// Comment out this line of code and it
// doesn't throw an exception
latest.Customer_ID = entry.Customer_ID;
m_dataContext.SubmitChanges(); // This throws a NotSupportedException
}
Ошибка: «Предпринята попытка присоединить или добавить объект, который не является новым, возможно, был загружен из другого DataContext. Это не поддерживается».