Michael Otey has an article in the Feb. 2006 SQL Server Magazine called LINQ to the Future along with an online editorial LINQ—The Missing Piece of Database Development where he continually uses the term LINQ, instead of the correct term DLINQ, which will just make things more confusing for the SQL Developer. Let’s set things straight.
It starts with the first line of the article, where he tries to define what LINQ is
Microsoft's new Language Integrated Query (LINQ—pronounced link) project is the next step in database-development technology. LINQ addresses the current database-development model's disconnect between the object-oriented programming model and procedural, T-SQL based data-access code.
If he would have read the Microsoft LINQ site he would have seen the correct definition of LINQ:
The LINQ Project is a codename for a set of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations. It extends C# and Visual Basic with native language syntax for queries and provides class libraries to take advantage of these capabilities.
Here is an example from the FAQ section of the article:
Can I use LINQ with databases other than SQL Server?
Yes. DLinq, the database implementation of LINQ, uses ADO.NET for its database connectivity, so in theory, DLinq applications can connect to any database that uses a .NET Data Provider. As you might expect, however, the prerelease code works best with SQL Server 2005. Support for other databases should be available when the product ships.
The question should be, can I use DLINQ with databases other then SQL Server, not LINQ.
Here’s another one from the online editorial:
For database developers, LINQ is quite possibly the biggest paradigm change since the advent of ODBC. LINQ eliminates the application-database disconnect and enables full OO database access
Just replace the term LINQ with DLINQ, and I’d agree with Otey’s statement.
LINQ, by itself, has nothing to do with database development technology, but with integrated language query. The query extensions are over any .NET array or collection, not databases. The DLINQ component of the LINQ Project, provides a run-time infrastructure for managing relational data as objects without giving up the ability to query. XLINQ does the same thing, but for XML.
It may sound like I’m being a little picky here, but LINQ is much more then just for relational database queries. There are currently only 2 implementations using LINQ, DLINQ and XLINQ. But, I think once architects and framework designers start to get their heads around the power of LINQ, you will see other domain specific implementations of LINQ that take advantage of things like Lambda Expressions and Expression Trees so you can create a specific query language over that Accounting or Marketing domain model.
Technorati Tags: dlinq sql server magazine linq