none
Como trazer os 10 últimos registros ? RRS feed

  • Pergunta

  • Estou utilizando table Storage e gostaria de trazer os 10 ultimos registros da tabela e tentei fazer da seguinte forma

     

     

    var query = (from c in DataContext.CreateQuery<StorageRegister>(typeof(StorageRegister).Name)
     orderby c.RowKey descending     
     select c).Take(10);
    return query.ToArray();
    

     


    Também tentei fazer usando o campo timestamp

     

    var query = (from c in DataContext.CreateQuery<StorageRegister>(typeof(StorageRegister).Name)
     orderby c.TimeStamp descending     
     select c).Take(10);
    return query.ToArray();
    

     


    Mas de nenhuma das duas formas funcionou e ainda dá erro dizendo que a pesquisa é inválida.

    A única forma que funciona é se não utilizar o orderby, assim:

     

    var query = (from c in DataContext.CreateQuery<StorageRegister>(typeof(StorageRegister).Name)
     select c).Take(10);
    return query.ToArray();
    

     


    O problema é que não me retorna os 10 últimos mas os 10 primeiros 

     

    Alguém conseguiria me ajudar a trazer os 10 últimos registros ?


    quarta-feira, 31 de agosto de 2011 13:28

Todas as Respostas

  • Também tentei fazer orderby da seguinte maneira :

    var query = from c in Database.DataContext.CreateQuery<StorageRegister>(typeof(StorageRegister).Name)
                        select c;
            return query.OrderByDescending(c => c.Timestamp).ToArray();
    


    E dá o seguinte erro:

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
      <code>NotImplemented</code>
      <message xml:lang="pt-BR">The requested operation is not implemented on the specified resource.</message>
    </error>
    
    Como fazer este order by decrescente em uma tabela do azure ?

    sexta-feira, 2 de setembro de 2011 12:38
  • você já tentou primeiro executar a consulta simples para popular a lista em memória para ai então filtrar e ordenar ?

    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Se for útil marque como resposta e faça um Developer feliz :)
    quarta-feira, 14 de setembro de 2011 16:16
  • Sim ai funciona, mas se estou no azure é porque tenho a previsão de possuir em um futuro próximo milhões de registros. Agora imagine popular uma lista com milhões de registros e depois fazer tudo isto em memória. É por isto que eu queria que isto já posse feito de dentro do banco azure.

     

    Eu queria pelo menos garantir que tudo está sendo gravado em uma determinada ordem, mas pelo que percebo em alguns momentos os dados estão sendo gravados por timestamp ascendente e outra hora descendente

    • Editado Rick Sam terça-feira, 20 de setembro de 2011 17:19
    terça-feira, 20 de setembro de 2011 17:16