Search code examples
sql-serverf#fsharp.data.sqlclient

FSharp.Data.SqlClient with multiple result sets


With FSharp.Data.SqlClient, how do you use SqlCommandProvider or SqlProgrammabilityProvider with multiple result sets? For instance if you wanted to get Customer+Orders where your stored procedure returns the customer info in the first result set and the orders in the second result set?

records:

{ OrderId=4; Date=xxx }
{ Name="Dave Smith"; Orders=[...] }

sp:

   Select Name From Customer Where CustomerId=@CustomerId
   Select OrderId, Date From Orders Where CustomerId=@CustomerId

Solution

  • FSharp.Data.SqlClient is based on sys.sp_describe_first_result_set. As such, it ignores second result set completely.