Ejecute múltiples comandos SQL en un solo viaje de ida y vuelta
Estoy creando una aplicación y quiero agrupar múltiples consultas en un solo viaje de ida y vuelta a la base de datos. Por ejemplo, supongamos que una sola página necesita mostrar una lista de usuarios, una lista de grupos y una lista de permisos.
Así que he almacenado procs (o simplemente simples comandos sql como "select * from Users"), y quiero ejecutar tres de ellos. Sin embargo, para completar esta página, tengo que hacer 3 viajes de ida y vuelta.
Ahora podría escribir un solo proceso almacenado ("getUsersTeamsAndPermissions") o ejecutar un solo comando SQL "select * from Users; exec getTeams; select * from Permissions".
Pero me preguntaba si había una mejor manera de especificar 3 operaciones en un solo viaje de ida y vuelta. Los beneficios incluyen ser más fácil de realizar pruebas unitarias y permitir que el motor de la base de datos paralice las consultas en paralelo.
Estoy usando C # 3.5 y SQL Server 2008.