O Linq em si é basicamente uma síntaxe para querys de objetos. Coleções de objetos IEnumerable ( Será ? Veja a opinião do Bart ... ) podem ser pesquisados através da síntaxe do Linq.
Mas como transformar as informações que nós desejamos em coleções IEnumerable ?
Para isso existem o que são chamados de Linq Providers. Talvez muita gente não tenha ido além do LinqToSQL, mas o fato é que temos o LinqToXML, o LinqToEntities, sendo isso tudo só o começo de uma lista muito mais exótica que passa pelo LinqToWMI e chega até mesmo ao LinqToFlickr
Mas de onde surgem tantos LinqTo ? Onde fica a nascente desses LinqTo ? Quem é a mãe ? (ou não é a mamãe ?)
Eis que descobri algo muito próximo disso : O Linq Provider Generator Tabajara (brincadeirinha - ele se chama Linq Extender) . Trata-se de um projeto publicado no CodeProject e com fonte disponível que permite a vocês gerar um Linq Providers usando um wizard next->next->next->finish . Ok, Ok, pode não ser tão Wizard assim, confesso que nem chequei, mas é algo do gênero.
Os Linq Providers gerados pelo Linq Extender ainda não são essas maravilhas (ainda não suportam group by, por exemplo) mas só o fato de termos um Generator já é alguma coisa.
Infelizmente não podemos jogar a culpa da procriação de Linq Providers (teriam eles DNA de coelho ?) no Linq Extender, pois muitos dos Linq Providers existentes surgiram antes do Linq Extender.
Para diversão de todos e alegria geral da nação, segue uma lista dos Linq Providers que consegui localizar, e deixo vocês imaginando como será a prova de certificação em cada um desses Linq Providers, quando for criada...
- LINQ to Amazon
- LINQ to Active Directory
- LINQ to Bindable Sources (SyncLINQ)
- LINQ over C# project LINQ to CRM
- LINQ To Geo - Language Integrated Query for Geospatial Data
- LINQ to Excel LINQ to Expressions (MetaLinq)
- LINQ Extender (Toolkit for building LINQ Providers)
- LINQ to Flickr
- LINQ to Google
- LINQ to Indexes (LINQ and i40)
- LINQ to IQueryable (Matt Warren on Providers)
- LINQ to JSON
- LINQ to NHibernate
- LINQ to JavaScript
- LINQ to LDAP
- LINQ to LLBLGen Pro
- LINQ to Lucene
- LINQ to Metaweb(freebase)
- LINQ to MySQL, Oracle and PostgreSql (DbLinq)
- LINQ to NCover
- LINQ to Opf3
- LINQ to Parallel (PLINQ)
- LINQ to RDF Files
- LINQ to Sharepoint
- LINQ to SimpleDB
- LINQ to Streams
- LINQ to WebQueries
- LINQ to WMI
- LINQ to XtraGrid
(lista obtida no blog de Charlie Calvert )
Muitos Links sobre Linq : http://blogs.msdn.com/charlie/archive/2006/10/05/Links-to-LINQ.aspx
Exemplo de provider : LinqtoTerraServer
Passo a passo de como criar um Provider : http://msdn.microsoft.com/en-us/library/bb546158.aspx
Veja ofertas de Livros de Linqno Submarino













0 comentários:
Postar um comentário