Understanding the Basics of Language Integrated Query (LINQ)Microsoft has introduced a general purpose query based facility for accessing data in the .NET framework version 3.5. Lets understand its motive. Today one have to deal with a wide variety of data sources like relational databases, data stored in XML files, memory collections, active directories etc. Also for
accessing data stored in these sources we should know different mechanisms
like SQL for relational databases and XQuery for XML. It would be more
comfortable and efficient if there is a standard unified technique by
which programmer can query and access data residing in different data
sources. LINQ fulfills this need as it can be used to query almost any
data. It is made possible with the powerful features of .NET framework
and use of generics.
LINQ operations are coded using SQO which stands for standard query operators. These are .NET custom query operators and implemented in the class Sequence of System.Query namespace. There are three major constituents of LINQ. First is LINQ to objects which deal with the in-memory databases. Second is LINQ to ADO.NET handling the data residing in external sources. It includes LINQ to SQL also which was originally known as DLinq. Third category is of LINQ to XML which deals with data in XML files. It was also known as XLinq earlier. LINQ work efficiently with the .NET languages C# and VB.NET and it also improves the performance of the application and speeds up the development process. This is because it uses the simple query based syntax to query any type of database. LINQ can also be viewed as a toolset for handling the data. Also it can be conceived as an extension to the programming languages like C# and VB.NET for accessing the databases. As an extension to the programming languages there are three building blocks of LINQ: Standard Query Operators, Expression Trees and Query Expressions. As we know the main motive behind the development of LINQ was to handle the mismatch between the different types of databases. In addition to this it also allows to add the querying power into the programming language and hence eliminate the need of different languages for accessing different databases. One important
feature of LINQ which should be discussed is it is strongly typed. This
means that if there are some mistakes in the code, programmer can check
them at the time of development. This saves a lot of time. Also while
writing LINQ queries in Visual Studio, developer has got IntelliSense
support. This means that the editor guides them with the syntax while
writing the code and hence productivity is increased.
|