2010-07-19 16 views
5

Sé que puede devolver resultados múltiples de un procedimiento almacenado y mediante el método generado por el diseñador.¿Es posible devolver varios conjuntos de resultados usando ExecuteQuery en Linq a Sql?

Sin embargo, estoy tratando de hacer lo mismo con ExecuteQuery, pero parece que no es posible. ¿Alguien ha intentado o sabe si esto es posible?

Básicamente estoy tratando de ejecutar un procedimiento almacenado ad-hoc. Por ad-hoc, me refiero a un procedimiento almacenado que no estaba disponible durante el tiempo de diseño.

+2

Parece que ExecuteQuery, dado que siempre devuelve IENumerable, siempre solo procesará el primer conjunto de resultados. En su lugar, deseará trabajar con IMultipleResults. [Este] (http://msdn.microsoft.com/en-us/library/system.data.linq.imultipleresults.aspx) puede ser un punto de partida. –

+0

@RossPresser: Su comentario parece responder exactamente la pregunta, proporcionando una explicación e incluso apuntando a una posible solución para el problema en cuestión. Considere convertir su comentario en una respuesta. –

Respuesta

-1

Sí se puede añadir su propio método en el archivo de Global.CS, que puede devolver el conjunto de datos con los múltiples resultados de la tabla,

Usted puede hacer algo como esto.

public DataSet DealClientSearchSelectTest(int ID,int PageIndex, string SearchStr) 
{ 
try 
{ 
return GlobalCls.ExecuteStoredProcedure("Sp_test " + SectionID + "," + ID + '" + SearchStr + "'"); 
} 
catch (Exception) 
{ 
throw; 
} 
} 
+0

Esto no es una respuesta. Ni siquiera es relevante. – leppie

Cuestiones relacionadas