0
我一直在这个问题上工作了一段时间,只是无法绕过它。任何帮助,将不胜感激......Azure存储表 - 删除项目错误
使用Azure Table中存储(不开发存储),我只是想从一个表中删除行:
Public Sub DeleteByItemId(pairItemId As String)
Dim item = (From c In _ServiceContext.UserTable Where c.Id = pairItemId Select c).Single()
_ServiceContext.DeleteObject(item)
_ServiceContext.SaveChanges()
End Sub
这将导致一个错误:“上下文目前没有跟踪实体。“
而这种做法:
Public Sub DeleteByItemId(itemId As String)
Dim item = New <object type>
item.PartitionKey = "sandbox"
item.RowKey = itemId
_ServiceContext.AttachTo(<table name>, item, "*")
_ServiceContext.DeleteObject(item)
_ServiceContext.SaveChanges()
End Sub
错误与此:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code>InvalidInput</code>
<message xml:lang="en-US">One of the request inputs is not valid.
RequestId:e37b0824-3336-4089-b6ac-2824438618f6
Time:2012-08-07T01:37:28.2741813Z</message>
</error>
如何服务上下文被创建:
Public Sub New()
Dim storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString")
_ServiceContext = New OroosoUserPairedAccountDataServiceContext(storageAccount.TableEndpoint.ToString(), storageAccount.Credentials)
_ServiceContext.IgnoreResourceNotFoundException = True
_ServiceContext.MergeOption = MergeOption.NoTracking
' Create the tables
' In this case, just a single table.
storageAccount.CreateCloudTableClient().CreateTableIfNotExist(<table name>)
End Sub
提琴手没有透露什么有趣的事。
我没有想法...
再次,任何帮助将不胜感激。
干杯
有人编辑我的问题,把它变成一个答案,这是一个很好的提醒,它*实际上是一个问题。我将它作为注释移动到此处:您是否尝试删除'_ServiceContext.MergeOption = MergeOption.NoTracking'? – smarx 2012-08-07 03:37:29
这工作。不知道该行最初来自哪里。你为什么不把这个答案放在一个答案中,以便我可以将其标记为... – 2012-08-07 16:39:06