LINQ stands for Language Integrated Query and it can be used to programmatically access and manipulate any data from different types of data sources such as Objects(Lists, Arrays, Strings..), SQL, XML, etc. using C# or VB.Net
The LINQ functionality can be achieved by importing System.Linq namespace in our applications.
Note: We can query any type that support “IEnumerable(Of T)” (VB.Net) or “IEnumerable<T>” (C#).
- LINQ provides full type checking at compile-time and supports IntelliSense. This powerful feature helps us to avoid run-time errors.
- LINQ also allows debugging which can be useful while troubleshooting.
- Most of the LINQ queries are reusable.
- LINQ provides powerful filtering, ordering, and grouping capabilities with minimum application code.
- If the LINQ query is not well optimized then the performance might degrade.
- Sometimes it’s a tedious work to understand advanced LINQ query statements.
- LINQ fails to take the full advantage of database features when compared to SQL queries.