Standard Query Operators: These are the extension methods that form the LINQ patterns. It operates on sequences and forms an API that enables querying of any .NET array. The Standard Query Operators in LINQ allows you to perform functions like determining if a value exists in the sequence, summation over a sequence, etc. The query operators supported by the API are:
Language extensions: LINQ defines optional language extensions when LINQ is primarily implemented as a library for .NET framework. This makes queries a first-class language construct and also provides syntax for writing queries.
LINQ Providers: These are set of classes that generate a method that executes the same query against a particular data source. The different providers define the different flavors of LINQ: