Повтор ID при Insert

Нужно, чтобы вместо Update при обновлении записи добавлялась новая (Insert). Репозиторий реализован следующим образом: ловлю Duplicate entry '' for key 'products.PRIMARY'. Подскажите, что нужно сделать, как-то сгенерировать новый ID и потом кидать Insert, или я вообще не в ту сторону думаю?

public abstract class BaseRepository<TEntity> : IRepository<TEntity> where TEntity : class
{
    protected DbContext eContext;
    protected DbSet<TEntity> dbSet;

    public BaseRepository(ApplicationDbContext context)
    {         
        eContext = context;
        eContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;

        dbSet = eContext .Set<TEntity>();
    }

    public List<TEntity> GetAll()
    {
        return dbSet.ToList();
    }

    public TEntity FindById(int id)
    {
        return dbSet.Find(id);
    }

    public void Insert(TEntity entity)
    {
        dbSet.Add(entity);
        eContext.SaveChanges();
    }

    public void Update(TEntity entity)
    {
        if (dbSet.Contains(entity))
            dbSet.Update(entity);
        else
            dbSet.Add(entity);
        eContext.SaveChanges();
    }
}

Ответы (0 шт):