[英]Failed to cast Dynamic Table entity to custom Entity Azure Table storage
我试图根据分区键替换行表上的实体,并且行键成功检索到该实体,但是当我尝试对其进行强制转换时,它将引发无效的强制转换异常。 我查看了MSDN文档,这是删除的正确方法,甚至确保遵循创建实体的准则
您要存储在表中的实体属性必须是该类型的公共属性,并且支持获取和设置值。 另外,您的实体类型必须公开无参数的构造函数
这是我的课
public class BasicAsset : TableEntity
{
public BasicAsset()
{
}
public BasicAsset(string name)
{
Name = name;
}
[IsFilterable, IsSortable, IsSearchable]
public string Name { get; set; }
[IsFilterable, IsSortable]
public int Version { get; set; }
}
这是我的异常代码
TableOperation retreiveOperation = TableOperation.Retrieve("Orginization", result.Results[0].Document.RowKey);
TableResult toDelete = await table.ExecuteAsync(retreiveOperation);
BasicAsset toReplaceAsset = (BasicAsset) toDelete.Result;
//Change what is new here
toReplaceAsset.Version = asset.Version;
TableOperation replaceOperation = TableOperation.Replace(toReplaceAsset);
错误
e = {System.InvalidCastException: Unable to cast object of type 'Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity' to type 'AssetSynch.Models.BasicAsset'.
at AssetSynch.Controllers.TableStorageViewFunctions.<>c__DisplayClass0_0.<<UpdateLattestAssetVe...
我在这里想念什么?
取而代之的Retrieve
尝试使用Retrieve<BasicAsset>
或者你可以简单地调用ExecuteQuery<BasicAsset>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.