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(); } } }