Есть два способа сделать это:
1) Создать значения, разделенные запятыми, из списка выбранных элементов списка.Но это не рекомендуемый подход, так как вам необходимо проанализировать его в своей хранимой процедуре.
string commaSeparatedParams = string.Join(",", myArray);
2) Создайте XML, каждая роль будет узлом.И передайте XML в качестве параметра хранимой процедуры.Большинство баз данных поддерживают простое извлечение данных из XML.Кстати, какую базу данных вы используете?
3) Если вы используете MS SQL 2008, вы также можете использовать Table-Valued Parameters
: http://msdn.microsoft.com/en-us/library/bb510489.aspx
, но это рекомендуется только для типа массовой вставкиоперации.Рекомендованный подход для вас - это, я бы сказал, XML.