/ / Възможно ли е да върнете множество резултати, като използвате ExecuteQuery в Linq to Sql? - .net, sql-сървър, linq-to-sql, съхранени процедури, executequery

Възможно ли е да върнете множество резултати, като използвате ExecuteQuery в Linq to Sql? - .net, sql-сървър, linq-to-sql, съхранени процедури, executequery

Знам, че можете да върнете няколко резултата от съхранена процедура и чрез метода, генериран от дизайнера.

Все пак се опитвам да направя същото като използвам ExecuteQuery, но не ми се струва възможно. Някой се е опитал или знае дали това е възможно?

По принцип се опитвам да изпълня ad-hoc съхранена процедура. С ad-hoc имам предвид съхранена процедура, която не е била налична по време на дизайна.

Отговори:

2 за отговор № 1

Изглежда, че ExecuteQuery, тъй като винагивръща IENumerable, винаги ще обработва само първия набор от резултати. Вместо това ще искате да работите с IMultipleResults. Това може да е отправна точка: http://www.a2zmenu.com/Blogs/LINQ/multiple-result-sets-using-IMultipleResults-in-linq.aspx


-1 за отговор № 2

Да, можете да добавите свой собствен метод във вашия Global.CS файл, който може да върне DataSet с резултатите от множество таблици,

Можете да направите нещо подобно.

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