Present State and Future Direction of LINQ


At the time of this writing, LINQ is still in a beta stage. LINQ made its first appearance in September 2005 as a technical preview. Since then, it has evolved from an extension of Visual Studio 2005 to an integrated part of the next .NET Framework release (version 3.5) and the next Visual Studio release (code-named “Orcas”).

This Book Is Based on Beta Code! 

Because the entire book is based on beta code, some features might be changed, removed, or added in the final release. This could invalidate some of the examples shown in the book. We tried to keep the book updated and aligned with the most recent information we had. In any case, we will publish news, book corrections, and updated code samples at http://www.introducinglinq.com.

The first released version of LINQ will directly support some data domains, as we saw in the “LINQ Flavors” section that appeared earlier. However, LINQ can be extended to support other data domains. Possible extensions could be something like LINQ to SharePoint, LINQ to Exchange, and LINQ to OLAP, just to name a few examples. Actually, some possible implementations are already available using LINQ to Objects-we have already seen a possible LINQ to Reflection query in the “LINQ to Objects” section.

Another point of extensibility of LINQ is the provider model included in LINQ to SQL and LINQ to Entities. Beta versions of LINQ support only SQL Server databases, but it is possible to implement a provider for any other relational database. We can expect that many providers will be written by developer communities and third parties.

LINQ is likely to have an impact on the way applications are coded. It would be an error to think that LINQ will change application architectures, because its goal is to provide a set of tools that improve code implementation by adapting to several different architectures. However, we cannot avoid speculating that LINQ might affect some critical parts of the layers of an n-tier solution. For example, we envision the use of LINQ in a SQLCLR stored procedure, with a direct transfer of the query expression to the SQL engine instead of using an SQL statement.

Many possible evolutions could originate from LINQ, and we should not forget that SQL is a widely adopted standard that cannot be easily replaced by another, just for performance reasons. Nevertheless, LINQ is an interesting step in the evolution of current mainstream programming languages. The declarative nature of its syntax might be interesting for uses other than data access. We already cited PLINQ, a research project that is an example of the current studies in this direction. Many other services can be offered by an execution framework to a program written using a higher level of abstraction such as the one offered by LINQ. A good understanding of this new technology might be important today, but it could become fundamental tomorrow!




Introducing Microsoft LINQ
Introducing MicrosoftВ® LINQ
ISBN: 0735623910
EAN: 2147483647
Year: 2007
Pages: 78

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net