Swiftorial Logo
Home
Swift Lessons
Tutorials
Learn More
Career
Resources

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.