В SubSonic 2.2 вы можете вызвать ExecuteTypedList .
public List<DistributionDetail> GetDistributionsForInvoice(string invoiceId)
{
List<DistributionDetail> result = new List<DistributionDetail>();
StoredProcedure sp = new StoredProcedure("GetDistributions", this.dataProvider);
sp.Command.AddParameter("InvoiceID", invoiceId, DbType.String, ParameterDirection.Input);
return sp.ExecuteTypedList<DistributionDetail>();
}
Имена столбцов из набора результатов хранимой процедуры должны совпадать с именами свойств в DistributionDetail.