LINQ provider basics by: Mehfuz Hossain
LINQ (Language Integrated Query) works as a middle tier between data store and the language environment. From a developer’s point of view, it is just a new pattern for querying data from multiple data structures directly in the IDE. Behind the scenes it does a whole lot of tasks like expression processing, validation and calling the right routine to fetch data or build a query to run in SQL Server. In short, LINQ stands as common query gateway between the language and the data store.
Figure 1: LINQ workflow (from language to data store)
The purpose of this article is to teach you how to extend this query pattern in order to create your own custom provider. The examples in this article have been taken from my LINQ.Flickr project at CodePlex (the link can be found at the end of the article).