Overview of LINQ:
LINQ stands
for Language Integrated Query, which is descriptive for where it's used and
what it does. LINQ is used for querying data. Here I used the generic term
"data" and didn't specified type of data. That's because LINQ can be
used to query many different types of data, including SQL, XML, and even
objects.
It is a
Microsoft programming model and methodology that gives formal query
capabilities into Microsoft .NET-based programming languages (mainly in C# and
VB.Net).
LINQ Syntax: LINQ queries can be written through
standard query expression or through Lambda expressions.
Query
expression syntax:
var items = from item in Items where item.Price > 10 select
item;
Lambda
expression syntax:
var items = Items.Where(c =>
c.Price > 10).Select(c => c);
|
Type of LINQ: Various type of LINQ available is:
·
LINQ
to SQL
·
LINQ
to Entities.
·
LINQ
to Objects
·
LINQ
to XML
·
LINQ
to DataSet
Advantages and Disadvantages: Mentioned
below are advantages and disadvantages of LINQ:
Advantages:
·
We
can debug LINQ queries with visual studio's debugger, but it is tough to debug
the queries written in SQL server.
·
Queries
written with LINQ are cleaner and typesafe as the queries errors are type
checked at compile time.
·
LINQ
can be used against different data types and it isn't limited only to
relational databases, you can also use it against XML or regular objects.
·
With
LINQ one can able to query not just tables of a database but also able to query
on XML and text files.
·
Classes
and properties are automatically created in LINQ and you can work with these
classes then instead of querying data directly to database.
·
Relationships
in LINQ are automatically appeared to classes, if there are proper foreign keys.
·
Lambda
expressions are nice and easy to use.
·
Deployment
is easier with LINQ, as in case of deployment, we need to provide an additional
script for DB to execute but in case of LINQ, it will complied into single DLL.
·
LINQ
offers a compact, expressive, and intelligible syntax for manipulating data.
Disadvantages
·
Performance
is degraded if LINQ queries not written in correct manner.
·
If
there has been a change in LINQ query, then assembly needs to be recompiled and
redeployed.
·
LINQ
is generic, whereas queries written in database can take full advantage of the
complete database features.
·
It’s
much easier to restrict access to tables in database using queries than through
LINQ.
·
LINQ
statements are not precompiled where as SQL stored procedures are precompiled,
so stored procedures are faster in performance as compared to traditional LINQ.
·
LINQ
needs to process the complete query, which might have a performance impact in
case of complex queries against stored procedures which only need serialize procedure
name and argument data over the network.
·
Sometimes
it is hard to understand advance LINQ queries statements.
thanks for the content. it is understandable.
ReplyDelete