是否可以从Azure表中只获取一个列值?

时间:2018-05-24 19:40:41

标签: c# azure-table-storage

我正在使用C#与azure表进行通信。我很好奇是否有办法只获得一个值而不是返回整个实体?

说我只想获得该行的时间戳。有没有办法只检索与键匹配的时间戳,还是我必须使用整个实体?

这是我的意思的一个例子:

我可以这样做:

DateTime time = table.Retrieve(partitionKey, rowKey, Timestamp);

或者我必须这样做:

MyClass object = table.Retrieve(partitionKey, rowKey).Result as MyClass;
Console.WriteLine(object.TimeStamp);

我试图避免为可以输入到我的表中的每个可能实体编写不同的类或添加新属性。

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找DynamicTableEntity。您可以将Execute来电的结果投射到DynamicTableEntity并访问默认属性,例如TimestampRowKey等。该类型还包含{{1}的定义},Properties(字符串=列名称) - > (value =一个封装任何自定义数据的TableEntityProperty。

就检索存储中的属性子集而言,您可以将第3个参数传递给Dictionary,该参数指定在执行调用时要检索的自定义属性的子集。

TableOperation.Retrieve