static object[] ExtractTransportMessageData(TransportMessage message, SendOptions sendOptions)
        {
            var data = new object[7];

            data[IdColumn]            = Guid.Parse(message.Id);
            data[CorrelationIdColumn] = GetValue(message.CorrelationId);
            if (sendOptions.ReplyToAddress != null)
            {
                data[ReplyToAddressColumn] = sendOptions.ReplyToAddress.ToString();
            }
            else if (message.ReplyToAddress != null)
            {
                data[ReplyToAddressColumn] = message.ReplyToAddress.ToString();
            }
            else
            {
                data[ReplyToAddressColumn] = DBNull.Value;
            }
            data[RecoverableColumn] = message.Recoverable;
            if (message.TimeToBeReceived == TimeSpan.MaxValue)
            {
                data[TimeToBeReceivedColumn] = DBNull.Value;
            }
            else
            {
                data[TimeToBeReceivedColumn] = message.TimeToBeReceived.TotalMilliseconds;
            }
            data[HeadersColumn] = HeaderSerializer.SerializeObject(message.Headers);
            if (message.Body == null)
            {
                data[BodyColumn] = DBNull.Value;
            }
            else
            {
                data[BodyColumn] = message.Body;
            }
            return(data);
        }