TABLE OF CONTENTS ![]() |
| Third-party LINQ Implementations |
LINQ is well known for its ability to query data types like SQL, XML and objects, as this Learning Guide has aptly demonstrated. However, LINQ is quite extensible -- that is, it can be programmed to query data types other than those cited above. This final section of the LINQ Learning Guide includes information about third-party LINQ implementations that query data from Amazon, Flickr and NHibernate.
Introduce yourself
to LinqExtender and LinqExtender
1.2 is out (Mehfuz Hossain)
This blogger offers a brief introduction to the LinqExtender tool that makes LINQ extensibility
possible. The second blog entry provides an update based on the release of v1.2 of the
LinqExtender.
DbLinq Project: LINQ Provider for MySql, Oracle and
PostgreSQL (Code2Code.net)
At present, SQL Server is the lone database supported out of the Visual Studio 2008 box. This
implementation, from George Moudry of Code2Code.net, supports several other database types. It is
based on C# 3.0.
Introducing
LINQ to Amazon (Fabrice Marguerie)
Here one of the authors of LINQ in Action describes
a LINQ implementation that queries Amazon.com's book catalog. "The LINQ query gets converted to
REST URLs supported by Amazon's Web services. These services return XML. The results are converted
from XML to .NET objects using LINQ to XML," Marguerie notes.
LINQ.Flickr (CodePlex)
This LINQ provider will query Flickr images. It allows for tag-only searches, free text searches
and photo size searches. Programmers must get a free API from Flickr to use this third-party LINQ
implementation.
LINQ to
SharePoint (CodePlex)
This implementation, currently in v0.2 alpha, supports SharePoint list entity creation and includes
a translator for LINQ-to-CAML queries. It also includes a debugger and a set of unit tests.
Developing
Linq to LLBLGen Pro, Day 0 (Frans Bouma)
LLBLGen Pro is an object-relational
mapping and code generating tool for n-tier C# and Visual Basic applications. Here we link to the
first installment of a series detailing the development of a LINQ to LLBLGen Pro implementation.
(The full series can be found here.)
MetaLinq: LINQ to Expressions (CodePlex)
This class library lets programmers use LINQ to search and edit expressions in place.
LINQ to JSON
(James Newton-King)
This isn't a LINQ provider so much that it is an API for working with JSON that has been designed
with LINQ in mind. It is part of the CodePlex project JSON.NET.
PHPLinq (CodePlex)
This implementation is a set of PHP classes modeled after Extension methods in C# 3.0.
Slinq: Streaming LINQ (CodePlex)
This is a set of extension methods for implementing LINQ on data sources, such as network monitors
or financial services, which provide "constantly changing data." (Paul Stovell is in the midst of a
similar project, which he is calling SyncLinq.)
LINQ for
NHibernate (Oren Eini)
This third-party LINQ implementation, as its name implies, allows queries to NHibernate, which is a
free persistence port for .NET objects and relational databases.
LINQ to Active Directory (CodePlex)
With this implementation, programmers can query an Active Directory. Author Bart de Smet writes,
"Internally, queries are translated into LDAP filters, which are sent to the server using the
System.DirectoryServices .NET Framework library."
Parallel LINQ:
Running Queries on Multi-Core Processors (Microsoft)
Parallel LINQ, or PLINQ, is an implementation made for multi-processor systems and is an important
piece of the recently released Parallel FX Library. This technical article looks at the basics of
PLINQ, with particular attention paid to the way it handles concurrency exceptions.
This was first published in February 2008
TABLE OF CONTENTS