LINQ
LINQ, or Language Integrated Query, allows you to write structured type-safe queries over local object collections and remote data sources.
LINQ lets you query any collection implementing IEnumerable<>, whether an array, list, XML
DOM, or remote data source (such as a table in SQL Server). LINQ offers
the benefits of both compile-time type checking and dynamic query composition.
Note
A good way to experiment with LINQ is to download LINQPad at http://www.linqpad.net. LINQPad lets you interactively query local collections and SQL databases in LINQ without any setup and is preloaded with numerous examples.
LINQ Fundamentals
The basic units of data in LINQ are
sequences and elements. A
sequence is any object that implements the generic IEnumerable interface,
and an element is each item in the sequence. In the following example,
names is a sequence, and Tom, Dick,
and Harry are elements:
string[] names = { "Tom", "Dick", "Harry" };We call a sequence such as this a local sequence because it represents a local collection of objects in memory.
A query operator is a method that
transforms a sequence. A typical query operator accepts an
input sequence and emits a transformed
output sequence. In the Enumerable class in System.Linq, there are around 40 query
operators; all implemented as static extension methods. These are called
standard query operators.
Note
LINQ also supports sequences that can be dynamically fed from a remote data source such as SQL Server. These sequences additionally implement ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access