Можно ли вернуть несколько наборов результатов с помощью ExecuteQuery в Linq для Sql? - PullRequest
5 голосов
/ 20 июля 2010

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

Тем не менее, я пытаюсь сделать то же самое с помощью ExecuteQuery, но не похоже, что это возможно. Кто-нибудь пробовал или знает, возможно ли это?

В основном я пытаюсь запустить специальную хранимую процедуру. Под ad-hoc я подразумеваю хранимую процедуру, которая не была доступна во время разработки.

Ответы [ 2 ]

2 голосов
/ 07 ноября 2012

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

0 голосов
/ 06 ноября 2012

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

Вы можете сделать что-то вроде этого.

public DataSet DealClientSearchSelectTest(int ID,int PageIndex, string SearchStr)
{
 try
{
return GlobalCls.ExecuteStoredProcedure("Sp_test " + SectionID + "," + ID + '" + SearchStr + "'");
}
catch (Exception)
{
throw;
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...