LINQPAD has quickly become my best friend - I think it is inevitable that everyone, like myself, will need to work with stored procedures. In my case I have Linked Servers that I want to access from a single database and have configured a stored procedure to return me the data I need from the applicable Server(s) / Table(s).
The question when I left work today was - how do I make LINQPAD work with Stored Procedures? All my efforts failed as shown below:
Prior to the above error I was getting a DataSet message (I hoped DataTable might have more success). The only thing I could get to work was the following, very basic, command:
When I got home my research resumed and I stumbled upon the following link:
It had exactly what I was looking for:
Language-Integrated Query (LINQ) queries work on data sources that implement the IEnumerable<(Of <(T>)>) interface or the IQueryable interface. The DataTable class does not implement either interface, so you must call the AsEnumerable method to use the DataTable as a source in the From clause of a LINQ query. You can also obtain custom, domain-specific operators, such as CopyToDataTable, by returning an IEnumerable<(Of <(T>)>) object.
However I quickly ran into the following response when I added AsEnumerable() to the query:
A little more research led me to this link which suggested (once again) that this should be working...
http://msdn.microsoft.com/en-us/library/bb386910.aspx which has the following content:
It was when I drilled down into the AsEnumerable() method that I realized that it was an Extension! The LINQPAD message, "press F4 to add a using directive..." had me very hopeful. I hit F4 and added the System.Data.DataSetExtensions.dll
Walla! I'm using a Stored Procedure within LINQPAD!
I strongly recommend that you buy the book - I got mine in yesterday and the quality and usefulness of the content matches the LINQPAD application.