Language Integrated Query
Language integrated query (LINQ) is a Microsoft project that adds a native querying syntax to .NET Framework languages, initially to the C# and VB.NET languages.
LINQ defines standard query operators that allow code written in LINQ-enabled languages to filter, enumerate, and create projections of several types of collections, including arrays, enumerable classes, XML, datasets from relational databases, and third party data sources. The LINQ project uses features of version 2.0 of the .NET Framework, new query library assemblies, and extensions to the C# and Visual Basic .NET languages. Microsoft has distributed a preview release of LINQ, consisting of those libraries and compilers for C# 3.0 and Visual Basic.
Language features
LINQ uses several new language features to expose query syntax natively to languages such as C#:
- Anonymous types
- Extension methods
- Lambda expressions
- Expression trees
- Standard query operators
Data sources
Although LINQ initially supports queries of in-memory collections and of relational databases and XML data, it is an extensible architecture that allows third-party providers of additional data sources to expose their data sources for use with LINQ by creating adapters for those data sources.
SQLMetal
LINQ framework includes a tool named SQLMetal which allows automatic generation of classes directly from a MS-SQL database, allowing very fast and easy integration of code and database.