Le estoy dando una vuelta a linq, se ve bueno pero al final igual usas la conexión sql, veré si sale mas ordenado y productivo que un procedimiento almacenado. Por ahora me quedo con la query pasada directamente sobre el código de .net a traves de un SqlCommand y parámetros.