Sí, necesita crear los tipos.
Las alternativas son enviar un lote de sql de cadena grande o pasar XML a sprocs.
La desventaja de los grandes lotes de cadenas sql es que puede arruinar el caché del proceso sql y hacer que sql se vuelva a compilar, especialmente si el lote es único debido a que los datos de entrada son parte de esa cadena grande. Por definición, cada lote sería único.
XML era la principal alternativa antes de los TVP. La única desventaja de XML, al menos durante un tiempo, sql azure no lo admitió (¿eso podría cambiar?), por lo que limita sus opciones.
Los TVP parecen ser la forma de hacer esto. Nuestro proyecto acaba de convertirse para usar TVP.
Espero que ayude.