Terminology
Interpreted query ¶ A query that is interpreted at runtime, works on a remote-sequence, and operates on a IQueryable<T> sequence.
LINQ-to-objects query ¶ A query that runs on a local sequence.
Facts, Thoughts and Opinions
LINQ Interpreted Queries Overview
LINQ provides two parallel architectures: local queries for local object collections, and interpreted queries for remote data sources. Local queries operate over collections implementing IEnumerable<>. Local queries resolve to query operators in the Enumerable class, which in turn resolve to chains of decorator sequences. The delegates that they accept—whether expressed in comprehension syntax, lambda syntax, or traditional delegates—are fully local to Intermediate Language (IL) code just as any other C# method.
By contrast, interpreted queries are descriptive. They operate over sequences that implement IQueryable<>, and they resolve to the query operators in the Queryable class, which emit expression trees that are interpreted at runtime.
LINQ Overview
LINQ defines a set of general purpose standard query operators that allow traversal, filter, and projection operations to be expressed in a direct yet declarative way in any .NET-based programming language. The standard query operators allow queries to be applied to any IEnumerable<T>-based information source. LINQ allows third parties to augment the set of standard query operators with new domain-specific operators that are appropriate for the target domain or technology. More importantly, third parties are also free to replace the standard query operators with their own implementations that provide additional services such as remote evaluation, query translation, optimization, and so on. By adhering to the conventions of the LINQ pattern, such implementations enjoy the same language integration and tool support as the standard query operators.
Images
- Subtopics
- Writings
Sources & Bookmarks
Name/Link | ¶ | Date |
---|---|---|
GroupByMany | ¶ | 2013-04-30 |
LINQ | ¶ | Pending |
LINQ Enumerable Class (Part 1) | ¶ | |
LINQ Enumerable Class (Part 2) | ¶ | |
LINQ Samples | ¶ | 2012-06 June |