2010-07-19 32 views
5

Tôi biết rằng bạn có thể trả lại nhiều kết quả từ một quy trình được lưu trữ và thông qua phương thức do nhà thiết kế tạo ra.Có thể trả về nhiều bộ kết quả bằng ExecuteQuery trong LINQ to Sql không?

Tuy nhiên, tôi đang cố gắng làm tương tự bằng cách sử dụng ExecuteQuery nhưng dường như không thể. Có ai đã thử hoặc biết liệu điều này có khả thi không?

Về cơ bản tôi đang cố chạy một thủ tục được lưu trữ đặc biệt. Bởi ad-hoc, tôi có nghĩa là một thủ tục được lưu trữ mà không có sẵn trong thời gian thiết kế.

+2

Nó xuất hiện ExecuteQuery, vì nó luôn trả về IENumerable, luôn luôn chỉ xử lý resultset đầu tiên. Thay vào đó, bạn sẽ muốn làm việc với IMultipleResults. [This] (http://msdn.microsoft.com/en-us/library/system.data.linq.imultipleresults.aspx) có thể là điểm bắt đầu. –

+0

@RossPresser: Nhận xét của bạn dường như trả lời chính xác câu hỏi, cung cấp giải thích và thậm chí chỉ ra giải pháp khả thi cho vấn đề được đề cập. Vui lòng xem xét chuyển đổi nhận xét của bạn thành câu trả lời. –

Trả lời

-1

Có bạn có thể thêm phương pháp riêng của mình trong tập tin Global.CS của bạn, mà có thể trả lại DataSet với kết quả nhiều bảng,

Bạn có thể làm một cái gì đó như thế này.

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

Đây không phải là câu trả lời. Nó thậm chí không liên quan. – leppie

Các vấn đề liên quan