У меня была такая же проблема. Я создал быстрый обходной путь, возможно, не лучшее решение (так как оно может повлиять на производительность), но оно сработало для меня.
В моем решении у меня есть класс с моим DataContext, объявленным на уровне класса, поэтому я могу использовать его повсюду.
В моем решении все, что я хотел сделать (аналогично вам), - это изменить идентификатор типа учетной записи на другой идентификатор типа учетной записи (в базе данных это FK) для пользователя.
Поскольку DataContext уже был загружен, изменение не разрешалось. Работа вокруг?
Я создал функцию, в которой я создаю новый экземпляр DataContext, запускаю запрос LINQ, отправляю изменения, а затем располагаю DataContext.