Sì, devi creare i tipi.
Le alternative sono l'invio di un batch sql di grandi dimensioni o il passaggio di XML a sprocs.
Lo svantaggio di grandi batch di stringhe sql è che può far saltare la cache di sql proc e potrebbe causare la ricompilazione di sql, specialmente se il batch è univoco a causa dei dati di input che fanno parte di quella stringa di grandi dimensioni. Per definizione ogni batch sarebbe unico.
XML era l'alternativa principale prima dei TVP. L'unico aspetto negativo dell'XML, per almeno un po', sql azure non lo ha supportato (potrebbe cambiare?), quindi limita le tue opzioni.
I TVP sembrano essere il modo per farlo. Il nostro progetto è appena passato all'utilizzo di TVP.
Spero di esserti stato d'aiuto.