LINQ Learning Guide: Third-party LINQ Implementations

This section of the LINQ Learning Guide looks at LINQ implementations for data sources as various as, JSON and PHP.



   LINQ Quick Start
   LINQ and Visual Studio 2008's new language features
   LINQ Providers
   LINQ and Web applications
   LINQ to Objects
   LINQ to XML
   LINQ to SQL
   LINQ to DataSet
   LINQ to Entities
   Third-party LINQ Implementations


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 (
At present, SQL Server is the lone database supported out of the Visual Studio 2008 box. This implementation, from George Moudry of, 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'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.

Dig Deeper on Visual Studio 2008 and Language Integrated Query (LINQ)

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.