The LINQ is stands for Language Integrated Query
and it is a Microsoft .NET Framework component and use for data querying and it
was released in .NET Framework 3.5 on November 19, 2007.
The advantages and disadvantages for LINQ (Microsoft
.Net) as give below in the details,
Advantages
1.
It is quick turnaround for
development.
2.
It is helps us to access any type of
resource.
3.
It is a cleaner and type-safety.
4.
Lambda expressions are awesome. I am
so happy to use it and I always recommended to others developers to use it.
5.
LINQ to SQL allows for RAD with
database very nicely.
6.
Queries can be dynamically
7.
Declarative approach makes queries
easier to understand and more compact.
8.
Extensibility and expression trees
allow mostly consistent querying of multiple sources.
9.
Tables are automatically created into
class.
10. Columns
are automatically created into properties.
11. Great
to be able to avoid the SQL in strings.
12. Relationships
are automatically appeared to classes.
13. Data
is easy to setup and use.
14. We
can debug the queries using visual studio's debugger.
Disadvantages
1.
It is hard to write a LINQ provider.
2.
Lambdas and extension methods are my
hammers and all problems are nails.
3.
No clear outline for Tiers.
4.
LINQ is not good to write complex
queries like SQL Server.
5.
There is no good way of view
permissions.
6.
Deferred execution and streaming are
poorly understood.
7.
A LINQ advance query is hard to understand
but too many people don't understand it but still use it.
8.
Small data sets will take longer to
build the query than execute.
9.
There is an overhead for creating
queries.
10. Debugging
can be very tricky due to deferred execution and streaming.
11. When
queries are moved from sql to application side, joins are very slow.
12. Performances
are degraded if we don't write the LINQ query correctly.
I hope it is helpful to you! Thank you very much
to read this post!