public Order Add(Order item) { this.SetBaseFields((BaseModel)item); using (SqlConnection connection = GetConnection()) { var data = connection.Query <int>("[dbo].[CreateOrder]", new { JobId = item.JobID, Signature = item.Signature, TimeSlots = item.TimeSlots.AsTvp <TimeSlot>("[dbo].[PurchasedTimeSlots]") }, commandType: CommandType.StoredProcedure ); var returnObject = connection.Get <Order>(data); returnObject.TimeSlots = (List <TimeSlot>)_timeslots.GetByOrder(returnObject.OrderID); return(returnObject); } }