开发者社区> 问答> 正文

请问在OTS中NextPrimaryKey.ElementAt怎么使用?

在表格存储OTS中NextPrimaryKey.ElementAt怎么使用?表对象中含有四个分片建。需要每一个都取出来?是在.net中使用

展开
收起
我匆匆过客 2016-08-26 10:30:04 2724 0
1 条回答
写回答
取消 提交回答
  • OTS中的NextPrimaryKey是一个PrimaryKey对象,PrimaryKey的实现如下:

    namespace Aliyun.OTS.DataModel                                                                                                    
    {                                                                                                                                 
        /// <summary>                                                                                                                 
        /// 表示若干主键列组成的主键。可以使用Add方法指定列名和列值来添加主键列。                                                     
        /// </summary>                                                                                                                
        public class PrimaryKey : Dictionary<string, ColumnValue>                                                                     
        {                                                                                                                             
        }                                                                                                                             
    }                      

    所以,PrimaryKey其实是一个key为string,value为ColumnValue的字典。ElementAt其实是字典的方法。
    若果想获取四个分片键,可以按下面的代码:

    foreach (KeyValuePair<string, ColumnValue> entry in primaryKey)                                                               
    {                                                                                                                                 
        Console.WriteLine(entry.Key + ":" + PrintColumnValue(entry.Value));                                                           
    }            

    PrintColumnValue的实现:

    private static string PrintColumnValue(ColumnValue value)                                                                         
    {                                                                                                                                 
        switch (value.Type)                                                                                                           
        {                                                                                                                             
            case ColumnValueType.String: return value.StringValue;                                                                    
            case ColumnValueType.Integer: return value.IntegerValue.ToString();                                                       
            case ColumnValueType.Boolean: return value.BooleanValue.ToString();                                                       
            case ColumnValueType.Double: return value.DoubleValue.ToString();                                                         
            case ColumnValueType.Binary: return value.BinaryValue.ToString();                                                         
        }                                                                                                                             
                                                                                                                                      
        throw new Exception("Unknow type.");                                                                                          
    }   
    2019-07-17 20:05:43
    赞同 1 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
HBase实践之MOB使用指南(未翻译) 立即下载
玩转 Tablestore 入门与实战 立即下载
MaxCompute Logview参数详解和问题排查(废弃) 立即下载