public async Task UpdateSong(SongModel song, CancellationToken cancellationToken)
        {
            await using var context = contextFactory.CreateDbContext();
            var songEntity = await FindSong(context, song.Id, cancellationToken);

            var updatedEntity = song.ToEntity();

            context.Entry(songEntity).CurrentValues.SetValues(updatedEntity);
            await context.SaveChangesAsync(cancellationToken);
        }
        public async Task CreateSong(SongModel song, CancellationToken cancellationToken)
        {
            var songEntity = song.ToEntity();

            await using var context = contextFactory.CreateDbContext();
            await context.Songs.AddAsync(songEntity, cancellationToken);

            await context.SaveChangesAsync(cancellationToken);

            song.Id = songEntity.Id.ToItemId();
        }