ADO.NET Entity Framework : novos providers estão chegando.

Olá pessoal, tudo certo?

O último TechEd 2008 trouxe algumas novidades sobre o mundo ADO.NET Entity Framework e LINQ, vale conferir.

Para quem está começando agora, Entity Framework oferece uma camada de mapeamento ORM - Object Relational Mapping, resolvendo a impedância entre o mundo relacional (de dados e coleções) e o mundo orientado a objetos (de tipos e classes). Enquanto isso, o LINQ - Language Integrated Query - oferece uma síntaxe de manipulação e acesso a coleções, permitindo uma navegação por dados de uma forma mais legível e aderente ao modelo orientado a objeto.

Quando vemos um código acessando uma base de dados via LINQ to SQL, por exemplo, temos algo assim:

image

A partir de um contexto de conexão, instanciamos uma classe de mapeamento da tabela People (do banco de dados mapeado) e fazemos nossa consulta através de uma coleção, dada pelo objeto query. Veja que o tipo utilizado é "var", um tipo anônimo que permite esse tratamento de coleções no LINQ.

Assim também, o mesmo acesso utilizando LINQ to Entity sobre o ADO.NET Entity Framework ficaria assim:

image

No exemplo acima, a instância da tabela People é feita através do objeto ObjectQuery, que acessa a pilha de mapeamento do Entity Framework. Só para lembrar, quando falamos em LINQ to SQL, estamos somente sobre SQL Server da Microsoft. Quando falamos em LINQ to Entity, estamos sobre qualquer banco mapeado pelo Entity Framework.

A boa notícia, anunciada no último TechEd em Orlando, é que novos providers para múltiplos bancos estão saindo do forno, uma demanda que muitas empresas têm feito para o uso do Entity Framework. Vejamos:

  • a Core Lab foi a primeira empresa a oferecer um ADO.NET provider com suporte para o Entity Framework Beta 3, ainda com conectividade para o SQLite, Oracle, MySQL e PostgreSQL. Veja mais aqui:

    Ref.: https://crlab.com/news/2007/directs430.html

  • a IBM anunciou recentemente seus providers para Entity Framework, permitindo a conectividade com DB2, IDS e U2, trabalhando também com o DB2 Express-C 9.5. Veja mais aqui:

    Ref.: https://www-128.ibm.com/developerworks/forums/thread.jspa?threadID=203893

  • a Npgsql já oferece o beta 4 de seu provider .NET Data Provider para bancos de dados Postgresql, confira:

    Ref.: https://pgfoundry.org/forum/forum.php?forum_id=1307

  • Reggie Burnett, o lead developer do provider para MySQL, o MySQL ADO.NET provider, anunciou que em breve, a versão 5.3 do produto irá suportar a tecnologia Entity Framework.
     

  • Finalmente, a DataDirect anunciou que irá disponibilizar já em Q3 de 2008, um novo release de seu Oracle ADO.NET provider, suportando o Entity Framework para acesso aos bancos de dados Oracle.

  • Ainda para o mundo Oracle vale um destaque: diversas empresas estão atualizando seus providers  para o suporte ao Entity Framework e acesso aos bancos de dados Oracle. É o caso da Core Lab, da OpenLink Software e agora a DataDirect Technologies.

Com o lançamento desses providers, será possível implementar estruturas de navegação LINQ com qualquer tipo de banco de dados, ampliando a flexibilidade de acesso de nossas soluções. Um sonho se tornando realidade!

Por enquanto é só! Até o próximo post :)

Waldemir.