TableServiceContext.SaveChanges () завершается ошибкой - PullRequest
0 голосов
/ 10 сентября 2011

Я ищу указатели на то, почему вышеописанный метод потерпит неудачу.

В моем подклассе TableServiceContext у меня есть:

   public void AddDevice(Device d)
    {
        d.PartitionKey = "A";
        d.RowKey = Guid.NewGuid().ToString();
        this.AddObject("Devices", d);
        this.SaveChanges();
    }

Сбой вызова SaveChanges() с очень общим сообщением для диагностики:

An error occurred while processing this request.. Stack:    at System.Data.Services.Client.DataServiceContext.SaveResult.HandleBatchResponse()
   at System.Data.Services.Client.DataServiceContext.SaveResult.EndRequest()
   at System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions options)
   at WorkerRole1.DeviceServiceContext.AddDevice(Device d) in DeviceServiceContext.cs:line 30

Есть идеи, что может быть не так? Таблица Devices существует. Учетная запись хранения существует и выглядит нормально.

Большое спасибо!

Ответы [ 3 ]

0 голосов
/ 15 сентября 2011

После большого количества трассировки и царапин на голове оказывается, что метод SaveChanges () был недоволен одним из свойств моего объекта-сущности. Внутреннее исключение говорит о «метод не реализован». Исправлено, но более точное сообщение об исключении было бы неплохо ...

0 голосов
/ 09 февраля 2013

Я новичок в Azure, но мне сказали, что Azure НЕ допускает использование UpperCase в именах BLOB, очередей или таблиц ... Возможно, проблема не в объекте или методе, а в названии таблицы, поскольку она называется «Устройства», а не «устройства» ... Но я не уверен ... Надеюсь, это поможет.

0 голосов
/ 10 сентября 2011

Возможно, класс Device не сериализуем.

Исключение может быть вызвано несколькими причинами, см. это сообщение в блоге для некоторых примеров.

...