Pasar un parámetro SQL a una cláusula IN () utilizando conjuntos de datos escritos en .NET

Primero disculpas ya que hay preguntas similares en este sitio, pero ninguna de ellas responde este problema directamente.

Estoy usando conjuntos de datos escritos en VS 2010. Creo un TableAdapter en un conjunto de datos con una consulta como:

SELECT * from Table WHERE ID IN(@IDs)

Ahora si llamo:TableAdapter.Fill(MyDataTable,"1,2,3") se produce un error que indica que VS no puede convertir 1,2,3 a tipo int. Lo suficientemente justo

ntonces, decido cambiar el tipo de parámetro (es decir, @ID) a cadena en la colección de parámetros. Inténtalo de nuevo, sigue siendo el mismo mensaje de error.

Entonces, ¿hay alguna forma de que este conjunto de datos mecanografiado pueda aceptar mi parámetro "1,2,3"? Por el momento, solo tengo que pasar unos pocos parámetros, por lo que podría crear fácilmente más o menos 5 parámetros y pasarlos por separado, pero ¿qué pasa si hay cientos? ¿Hay alguna manera de llamar a laFill() método con mi parámetro separado por comas?

(sé que puedo usar Dynamic SQL para crear la declaración y ejecutarla, pero preferiría si hay otra forma que me permita mantener mi conjunto de datos tipeado para usar en, por ejemplo, ReportViewer / bindingsources)

Respuestas a la pregunta(8)

Su respuesta a la pregunta