Azure Table Service (ATS) e o suporte as consultas LINQ

Cloud Computing & LINQ & Microsoft Azure & Microsoft Azure Storage

O Azure Table Service é um serviço de armazenamento de dados não relacional que proporciona a persistência de entidades dentro de tabelas que por sua vez estão relacionadas a uma conta do Windows Azure.

O ATS não é um banco de dados relacional como os já consagrados Microsoft SQL Server, Oracle ou DB2. Ele possui uma estrutura “frouxa” que proporciona em uma mesma tabela se ter linhas com estruturas de colunas distintas.

Se você vai iniciar uma aplicação Azure e está pensando em usar LINQ para acesso a dados, ai vai a lista com os operadores que tem ou não suporte dentro do ATS.

Operadores suportados

  • From
  • Where
  • First, FirstOrDefault
  • Take

OBS: Para o operador Take, o valor especificado deve ser menor ou igual a 1.000. No caso do valor ultrapassar este limite, o ATS irá retornar o famoso status code 400 (Bad Request). Se o operador Take não for especificado, o retorno trará somente os primeiros 1.000 registros.

Operadores não suportados

  • Select

    OBS: Todas as propriedades de uma entidade são recuperadas em qualquer operação de leitura.

  • GroupBy
  • OrderBy, OrderByDescending
  • ThenBy, ThenByDescending
  • Average
  • Min
  • Max
  • Last, LastOrDefault
  • SkipCount, LongCount
  • Sum
  • TakeWhile
  • SkipWhile
  • Join, GroupJoin
  • Single
  • OfType
  • SelectMany
  • Concat
  • ElementAt, ElemenatAtOrDefault
  • Distinct
  • Except
  • Intersect
  • Union
  • All
  • Any
  • Contains
  • SequenceEqual
  • Empty, Range, Repeat
  • SingleOrDefault
  • Reverse

 

O Azure Table Service é uma ótima opção para o armazenamento de dados. Contudo é necessário conhecê-lo bem antes de fundamentar sua aplicação nele. Caso contrário você corre o risco de chegar no meio do projeto e se deparar com restrições que podem impossibilitar o desenvolvimento…


Author's profile picture

Vitor is a computer scientist who is passionate about creating software that will positively change the world we live in.

MVP Azure - Cloud Architect - Data science enthusiast


2 minutes to read