/ / Чи можна повернути кілька наборів результатів за допомогою ExecuteQuery у Linq до Sql? - .net, sql-сервер, linq-to-sql, збережені процедури, exectequery

Чи можна повернути декілька наборів результатів за допомогою ExecuteQuery в Linq для Sql? - .net, sql-сервер, linq-to-sql, збережені процедури, executequery

Я знаю, що ви можете повернути декілька результатів із збереженої процедури і через метод, створений дизайнером.

Тим не менш, я намагаюся зробити те ж саме, використовуючи ExecuteQuery, але це не здається, що це можливо. Хто-небудь намагався чи знає, чи можливо це?

В основному я намагаюся запустити 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;
}
}