ストアド プロシージャから、およびデザイナーによって生成されたメソッドを介して複数の結果を返すことができることを知っています。
しかし、私は ExecuteQuery を使用して同じことをしようとしていますが、それは可能ではないようです。これが可能かどうかを試した人や知っている人はいますか?
基本的に、アドホック ストアド プロシージャを実行しようとしています。アドホックとは、設計時に使用できなかったストアド プロシージャを意味します。
ストアド プロシージャから、およびデザイナーによって生成されたメソッドを介して複数の結果を返すことができることを知っています。
しかし、私は ExecuteQuery を使用して同じことをしようとしていますが、それは可能ではないようです。これが可能かどうかを試した人や知っている人はいますか?
基本的に、アドホック ストアド プロシージャを実行しようとしています。アドホックとは、設計時に使用できなかったストアド プロシージャを意味します。
ExecuteQuery は常に IEnumerable を返すため、常に最初の結果セットのみを処理するようです。代わりに IMultipleResults を使用することをお勧めします。これは出発点かもしれません: http://www.a2zmenu.com/Blogs/LINQ/multiple-result-sets-using-IMultipleResults-in-linq.aspx
はい、Global.CS ファイルに独自のメソッドを追加できます。これにより、複数のテーブル結果を含む DataSet を返すことができます。
このようなことができます。
public DataSet DealClientSearchSelectTest(int ID,int PageIndex, string SearchStr)
{
try
{
return GlobalCls.ExecuteStoredProcedure("Sp_test " + SectionID + "," + ID + '" + SearchStr + "'");
}
catch (Exception)
{
throw;
}
}