Это связано с тем, что ваш datacontext (db) не может отслеживать одну и ту же сущность более одного раза. См. этот пост для более подробной информации о том, что происходит.
Один из непонятных комментариев внизу этого поста гласит:
public void Update(Customer customer)
{
NorthwindDataContext context = new NorthwindDataContext();
context.Attach(customer);
context.Refresh(RefreshMode.KeepCurrentValues, customer);
context.SubmitChanges();
}
Дайте мне знать, как это работает для вас, так как в этом посте говорится, что это сработало для него ...