/ / È possibile restituire più set di risultati utilizzando ExecuteQuery in Linq su Sql? - .net, sql-server, linq-to-sql, stored procedure, executequery

È possibile restituire più set di risultati utilizzando ExecuteQuery in Linq su Sql? - .net, sql-server, linq-to-sql, stored-procedures, executequery

So che puoi restituire più risultati da una procedura memorizzata e attraverso il metodo generato dal designer.

Tuttavia, sto cercando di fare lo stesso con ExecuteQuery ma non sembra possibile. Qualcuno ha provato o sa se questo è possibile?

Fondamentalmente sto cercando di eseguire una procedura memorizzata ad hoc. Per ad hoc, intendo una procedura memorizzata che non era disponibile in fase di progettazione.

risposte:

2 per risposta № 1

Sembra che ExecuteQuery, da semprerestituisce IENumerable, elaborerà sempre solo il primo gruppo di risultati. Dovrai invece lavorare con IMultipleResults. Questo può essere un punto di partenza: http://www.a2zmenu.com/Blogs/LINQ/multiple-result-sets-using-IMultipleResults-in-linq.aspx


-1 per risposta № 2

Sì, puoi aggiungere il tuo metodo nel tuo file Global.CS, che può restituire il DataSet con i risultati di più tabelle,

Puoi fare qualcosa di simile.

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