Como devo otimizar várias chamadas no meu código .net para um procedimento armazenado trivia

Eu tenho um procedimento armazenado muito simples:

create procedure spFoo(v varchar(50))
as 
insert into tbFoo select v

Eu tenho 50 valores para inserir no tbFoo, o que significa que no meu código c # eu chamo spFoo 50 vezes. Essa é uma maneira bastante ineficiente de fazer isso, especialmente se houver algum atraso entre o meu programa e o banco de dado

O que você costuma fazer nessa situação?

Estou usando o SQL Server 2008, mas provavelmente não está relacionad

questionAnswers(7)

yourAnswerToTheQuestion