Я знаю, що ви можете повернути декілька результатів із збереженої процедури і через метод, створений дизайнером.
Тим не менш, я намагаюся зробити те ж саме, використовуючи 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;
}
}