Using a stored procedure from SqlProgrammabilityProvider, I can't pick result type to be DataTable.
The work around to have a separate SQL statement (on which I can define the result type) calling the procedure doesn't work when you need to pass table valued parameters.
It would be better IMHO for all commands to expose methods with the different relevant result types (records or datatable).