LINQ stands for "Language Integrated Query" and is not just a way to query SQL databases:
http://msdn.microsoft.com/en-us/library/bb397926.aspx
From the above link:
LINQ introduces standard, easily recognizable patterns for querying and updating data, and the technology can be expanded to support potentially any data warehouse.
LINQ is now used across the entire .NET platform, and, as you mentioned in your question, you can use it against your own collection types. For me, this completely changed the way I write code:
List<int> myIntList = new List<int>(); .... populate with some data myFilteredIntList = myIntList.Where(i => i > 10);
In addition to LINQ to SQL, there are LINQ for objects, LINQ to XML, and LINQ to ADO.net.
Microsoft is actively investing in the LINQ feature set, and it remains here ... that, as they say, LINQ-to-SQL looks like it will eventually be deleted in favor of LINQ to ADO.Net (also known as Linq for objects ): http://blogs.msdn.com/b/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx
source share