Language Integrated Query (LINQ)
Introduction to LINQ
Language Integrated Query (LINQ) is a powerful feature in .NET that allows you to query data from various data sources using a unified syntax.
Querying Collections with LINQ
You can query objects in memory, such as arrays or lists, using LINQ queries.
Example: LINQ Query on List
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumbers = from num in numbers
where num % 2 == 0
select num;
foreach (var num in evenNumbers) {
Console.WriteLine(num); // Output: 2, 4
}
LINQ Operators
LINQ provides various operators like where
, select
, orderby
, groupby
, and more for filtering, projecting, ordering, and grouping data.
Example: LINQ Operators
string[] fruits = { "apple", "banana", "cherry", "date" };
var query = from fruit in fruits
where fruit.Length > 5
orderby fruit descending
select fruit.ToUpper();
foreach (var item in query) {
Console.WriteLine(item); // Output: CHERRY, BANANA
}
Querying Database with LINQ to SQL
LINQ to SQL allows you to query SQL databases using LINQ syntax, providing a seamless integration between database and application logic.
Example: LINQ to SQL
// Assuming a DataContext class and 'Products' table exists
using (var context = new DataContext()) {
var query = from product in context.Products
where product.Category == "Electronics"
select product;
foreach (var product in query) {
Console.WriteLine(product.Name); // Output: Product names in Electronics category
}
}
Benefits of LINQ
- Unified querying syntax
- Compile-time syntax checking
- Integration with IntelliSense and debugging
- Support for querying different data sources
Conclusion
LINQ is a versatile feature in .NET that simplifies data querying across various data sources, providing a consistent and efficient way to manipulate data in your applications.