Предполагая, что вы используете EntityFramework здесь, причина, по которой ваш репозиторий теряет отслеживание сущности, которую вы пытаетесь обновить, заключается в том, что вы используете другой экземпляр DbContext.
Экземпляр DbContext «знает» об объектах, которые извлекаются из него, добавляются к нему и т. Д., Но вы делаете захват объекта из одного DbContext (который отслеживает его) и отправку его другому DbContext. (который не отслеживает его, поэтому он считает, что это новый объект и пытается добавить его).
Также я бы рекомендовал (поскольку вы используете Asp.Net) использовать внедрение зависимостей в ваши контроллеры, чтобы избежать этой проблемы.
Надеюсь, это поможет, удачи.