segunda-feira, 9 de março de 2009

db4o (parte 6) – LINQ to db4o

Para finalizar esta sequencia de Posts sobre como realizar Queries no db4o, veremos como é possível utilizar a linguagem LINQ do .net para consultar dados em databases do db4o.

LINQ é a linguagem de queries integrada do .NET Framework, e o db40 também oferece compatibilidade com a linguagem LINQ. A vantagem do LINQ é a capacidade de criar queries em C# com as mesmas funcionalidades da linguagem SQL.

A primeira coisa que você precisa fazer é adicionar uma nova referencia ao seu projeto. Como neste exemplo estamos utilizando um projeto do tipo Console Application, basta adicionar uma referencia neste projeto, à DLL Db4objects.Db4o.dll como você confere na Figura abaixo.


Veja que essa DLL está no mesmo lugar que a Db4objects.Db4o.dll, e ela é que vai adicionar capacidade de criar queries LINQ no db4o.

Em seguida basta importar o namespace Db4objects.Db4o.Linq na classe Program.cs, e já estamos prontos para criar nossas queries com LINQ. Veja na Figura abaixo uma query que vai retornar todos os países com população acima de 1 milhão, e ordenada em ordem alfabética.


O resultado você vê na próxima figura.



Na minha opinião essa é a forma mais fácil e com maiores recursos que temos, para realizar queries no db4o. Além das capacidades de query, que são muito similares à linguagem SQL, com o LINQ temos a adição de uma série de métodos extendidos.

Veja, por exemplo, na Figura abaixo. Note que temos acesso à uma enorme quantidade de métodos da plataforma LINQ. Neste exemplo estamos utilizando o método Take, que funciona como um TOP, e neste caso irá limitar a nossa pesquisa à apenas os 5 primeiros registros encontrados.



Veja o resultado na próxima figura.


Deu pra notar que as possibilidades são muitas com o LINQ. Com isso somamos quatro possíveis formas de se executar queries no db4o: QBE, NQ, SODA e LINQ. Com todas essas possibilidades, dá pra notar que query é um ponto bem forte neste database.

Nos próximos POSTs pretendo falar de alguns assuntos mais avançados, e alguns exemplos práticos de como começar a utilizar o db4o em nossas aplicações. Grande abraço e até a próxima!

5 comentários:

  1. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  2. Muito obrigado por postar estes tutoriais sobre o Db4o. Muito didático.

    Grande abraço!

    ResponderExcluir
  3. shoow de bola o tutorial!
    Uma dúvida, o DB4o tem algum driver para uso com o NHibernate?...

    ResponderExcluir
  4. Olá Rubens!

    Eu acredito que não exista um driver para nHib (pelo menos eu ainda não achei).
    Se você quer uma aplicação onde possa configurar se o database é um SQLServer, Oracle ou db4o, a orientação do pessoal da db4objects é que você crie um DAO para abstrair as implementações db4o e NHib.
    Veja esta discussão sobre o assunto: http://developer.db4o.com/forums/thread/55031.aspx

    Valeu pelo feedback! Estou planejando novos POSTs sobre db4o.

    Abraço!

    ResponderExcluir
  5. Parabéns pelo tutorial! pra quem nunca tinha visto DB OO como eu, execente!
    trabalho com sistemas orientados objetos tanto em Java quanto .Net mas sempre com SQL e ultimamente nHibernate. Gostei muito desse banco DB4O vou realizar alguns testes e se realmente for o que se propoe e tiver performance, pretendo passar a desenvolver somente esse novo formato de banco. porque não?

    ResponderExcluir