Azure TableServiceContext.SaveChanges()失败

Azure TableServiceContext.SaveChanges()失败,azure,azure-table-storage,Azure,Azure Table Storage,我正在寻找上述方法失败的原因 在我的TableServiceContext子类中,我有: public void AddDevice(Device d) { d.PartitionKey = "A"; d.RowKey = Guid.NewGuid().ToString(); this.AddObject("Devices", d); this.SaveChanges(); } 调用SaveChanges()

我正在寻找上述方法失败的原因

在我的TableServiceContext子类中,我有:

   public void AddDevice(Device d)
    {
        d.PartitionKey = "A";
        d.RowKey = Guid.NewGuid().ToString();
        this.AddObject("Devices", d);
        this.SaveChanges();
    }
调用
SaveChanges()
失败,并向diagnostics发送一条非常通用的消息:

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
有什么不对劲吗? 设备表已存在。存储帐户已存在并且似乎正常


非常感谢

一种可能性是设备类不可序列化


异常可能是由多种原因引起的,请参阅博客文章中的一些示例。

经过大量跟踪和从头开始,结果发现SaveChanges()方法对我的实体对象中的一个属性不满意。内部异常谈到“方法未实现”。已修复,但更精确的异常消息会更好…

我是Azure新手,但有人告诉我Azure不允许Blob、队列或表名使用大写字母。。。 也许问题不在于对象或方法,而在于表名,因为它被称为“设备”,而不是“设备”。。。
但我不确定。。。希望这会有所帮助。

谢谢!我用[DataContract]和[DataMember]装饰了设备,以确定这一点。还是一样的结果。一些挖掘发现this.SaveChanges抛出了一个DataServiceRequestException。there中包含的BatchStatusCode是-1,这没有意义(应该是http代码?)。有趣的是,Azure会对CamelCase感到不安。这似乎不是我的问题。