Tuesday, February 10, 2009

Introduction to LINQ - Part 1

Microsoft dot net framework 3.0 introduced new feature named LINQ.

What is LINQ :
Language Integrated Query (LINQ) is a methodology that simplifies and unifies the implementation of any kind of data access.

Why LINQ:


The main objective behind LINQ was to address the concept related problems and technical difficulties encountered when using databases with .NET programming languages.

The two main intention of introducing LINQ were:
  • provide a solution for the problem of object-relational mapping
  • simplify the interaction between objects and data sources

LINQ eventually evolved into a general-purpose language-integrated querying toolset. This toolset can be used to access data coming from in-memory objects (LINQ to Objects), databases (LINQ to SQL), XMLdocuments (LINQ to XML), a file-system, or any other source.


Advantage of LINQ

Developers can use LINQ with any data source.

They can express efficient query behavior in their programming language of choice, optionally transform/shape data query results into whatever format they want, and then easily manipulate the results.

LINQ-enabled languages can provide full type-safety and compile-time checking of query expressions, and development tools can provide full intellisense, debugging, and rich refactoring support when writing LINQ code.LINQ supports a very rich extensibility model that facilitates the creation of ery efficient domain-specific operators for data sources.

2 comments:

Manikandan S said...

Thanks for sharing. But you are mentioned that LINQ introduced for "Technical difficulties encountered when using databases with .NET programming languages"

Can you explain what are those difficulties?

Varun Sharma said...

will reply to this..give me a day..
In brief it gives a clear separation from database structure and the business objects that helps the business specific guy (say Business analyst who works with team during requirement gathering phase ) to design overall object without bothering about the database design.

will explain that