是否可以使用Linq中的ExecuteQuery将多个结果集返回给Sql?

时间:2010-07-19 20:24:00

标签: .net sql-server linq-to-sql stored-procedures executequery

我知道您可以从存储过程和设计器生成的方法返回多个结果。

但是,我正在尝试使用ExecuteQuery做同样的事情,但它似乎不可能。 有没有人试过或知道这是否可行?

基本上我正在尝试运行ad-hoc存储过程。 ad-hoc是指在设计时不可用的存储过程。

2 个答案:

答案 0 :(得分:2)

看起来ExecuteQuery,因为它始终返回IENumerable,总是只处理第一个结果集。您将需要使用IMultipleResults。这可能是一个起点:http://www.a2zmenu.com/Blogs/LINQ/multiple-result-sets-using-IMultipleResults-in-linq.aspx

答案 1 :(得分:-1)

是的,您可以在Global.CS文件中添加自己的方法,该文件可以返回带有多个表结果的DataSet,

你可以这样做。

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