从Azure表存储中删除列

从Azure表存储中删除列,azure,azure-table-storage,data-transform,Azure,Azure Table Storage,Data Transform,下面是我用来从表存储中读取实体的代码片段: ReadingEntity上的公共void(对象发送方,ReadingWritingEntityEventArgs) { XNamespace AtomNamespace=”http://www.w3.org/2005/Atom"; XNamespace AstoriaMetadataNamespace=”http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"; GenericEn

下面是我用来从表存储中读取实体的代码片段:

ReadingEntity上的公共void(对象发送方,ReadingWritingEntityEventArgs)
{
XNamespace AtomNamespace=”http://www.w3.org/2005/Atom";
XNamespace AstoriaMetadataNamespace=”http://schemas.microsoft.com/ado/2007/08/dataservices/metadata";
GenericEntity实体=args.entity作为GenericEntity;
if(实体==null)
{
返回;
}
//读取有效负载中的每个属性、类型和值
var properties=args.Entity.GetType().GetProperties();
var q=args.Data.Element(AtomNamespace+“内容”)中的p
.Element(AstoriaMetadataNamespace+“属性”)
.要素()
其中properties.All(pp=>pp.Name!=p.Name.LocalName)
选择新的
{
Name=UnescapePropertyName(p.Name.LocalName),
IsNull=string.Equals(“true”,p.Attribute(AstoriaMetadataNamespace+“null”)==null
无效的
:p.Attribute(AstoriaMetadataNamespace+“null”).Value,StringComparison.OrdinalIgnoreCase),
TypeName=p.Attribute(AstoriaMetadataNamespace+“类型”)==null
无效的
:p.Attribute(AstoriaMetadataNamespace+“type”).Value,
p、 价值观
};
foreach(q中的var dp)
{
实体[dp.Name]=GetTypedEdmValue(dp.TypeName,dp.Value,dp.IsNull);
}
}
不幸的是,这段代码将返回我删除的实体中存在的一些属性


有人能解释一下原因吗?

Azure表存储没有关系数据库中常用的列。除强制列外,每行可以具有完全不同的属性

当您说“仍然显示”时,我假设这正是您使用的工具呈现数据的方式,使您认为它像一个关系表


请参阅,了解一些良好的技术背景。

嗨,托德,你说得很对,我匆忙地写了这篇文章,做了一次编辑,因此更有意义。啊,这更有意义。您使用的是存储模拟器还是live服务?如果是模拟器,您可能会看到此处描述的问题,请参见: