【问题标题】:Azure Table Storage Storing a ulongAzure 表存储存储一个 ulong
【发布时间】:2014-01-27 11:00:47
【问题描述】:

是否有映射到 ulong 的 azure table 存储类型?似乎没有很好的方法来存储大于 Int64.MaxValue 的数字。

【问题讨论】:

    标签: azure azure-table-storage


    【解决方案1】:

    当前支持的数据类型可在 MSDN -http://msdn.microsoft.com/en-us/library/windowsazure/dd179338.aspx 上找到。如您所见,ulong 不是其中之一。

    但是,您可以通过自己处理序列化/反序列化来解决此问题。如果您使用的是 2.0 或更高版本的存储库,您可以在对象上使用ITableEntity 接口,覆盖ReadEntityWriteEntity 方法。

    【讨论】:

    • 添加到 MikeWo 的答案:其他选择可能是将它们存储为 DoubleString 数据类型并在客户端进行转换。两者都能够存储大于 Int64.MaxValue 的数字。
    • 这听起来可能是我想要的,但我最终可能会在解析它的行键周围包装一个属性。喜欢: public ulong MyProp {get{return ulong.Parse(PartionKey)};} 看起来 ulong 属性实际上并没有作为列添加到表中(它们甚至没有作为字符串添加)所以我不认为我需要担心该属性被推到表存储中。看起来我实际上无法更改行键的类型。我可能应该提到有 ulong 的列是行键。如果您发现任何完全错误的地方,请告诉我!
    • 你是对的。 PartitionKeyRowKey 属性属于 String 数据类型,无法更改。
    猜你喜欢
    • 2015-08-16
    • 2013-08-29
    • 1970-01-01
    • 2011-02-26
    • 2018-12-04
    • 2014-03-29
    • 2017-03-11
    • 2015-03-13
    • 1970-01-01
    相关资源
    最近更新 更多