Похоже, вы создаете новый объект на основе старых значений, определяете идентификатор и сохраняете его в БД. Если это так, то у нового объекта будет тот же идентификатор, что и у того, с которого он был скопирован. Вы обновляете или сохраняете новую запись?
Похоже, что может быть гораздо более быстрый способ сделать то же самое. Если вы можете получить список идентификаторов, которые переназначаются или копируются, вы можете использовать SQL, подобный следующему:
update tblSellerListings set SellerID = "new seller id" where ItemID in (list of ids);
Повторное использование контекста может быть проблемой, если он хранится вокруг возрастающего идентификатора от запроса к следующему. Создание нового очистило бы это значение. Могу поспорить, что в этом случае есть метод, который также очищает это значение.
Jacob