protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior)
        {
            TableStorageFieldCollection parameters = ConvertParameters();
            string         entryId;
            HttpWebRequest request = GetRequest(parameters, out entryId);

            try
            {
                WebResponse response       = request.GetResponse();
                Stream      responseStream = response.GetResponseStream();

                return(new TableStorageDataReader(responseStream));
            }
            catch (WebException we)
            {
                HttpWebResponse response = (HttpWebResponse)we.Response;

                if (response == null)
                {
                    throw new TableStorageException(we.Message, we);
                }

                if (response.StatusCode == HttpStatusCode.NotFound)
                {
                    return(new TableStorageDataReader(null));
                }

                throw TableStorageException.Parse(we);
            }
        }
        public override int ExecuteNonQuery()
        {
            TableStorageFieldCollection parameters = ConvertParameters();
            string entryId;

            HttpWebRequest request = GetRequest(parameters, out entryId);

            request.ContentType = "application/atom+xml";

            Stream requestStream = request.GetRequestStream();

            using (TableStorageDataWriter writer = new TableStorageDataWriter(requestStream))
            {
                writer.WriteStartEntry(entryId);

                foreach (TableStorageField parameter in parameters)
                {
                    writer.WriteField(parameter);
                }

                writer.WriteEndEntry();
                writer.Flush();
            }

            HttpWebResponse response = null;

            try
            {
                response = (HttpWebResponse)request.GetResponse();

                return(1);
            }
            catch (WebException we)
            {
                response = (HttpWebResponse)we.Response;

                if (response == null)
                {
                    throw new TableStorageException(we.Message, we);
                }

                if (response.StatusCode == HttpStatusCode.NotFound)
                {
                    return(0);
                }

                throw TableStorageException.Parse(we);
            }
            finally
            {
                if (response != null)
                {
                    response.Close();
                }
            }
        }