What is an expression tree in LINQ?
An expression tree represents code as a tree of expression objects rather than immediately compiled executable instructions. In LINQ, expression trees are especially important with IQueryable<T> because a query provider can inspect the tree and translate supported operations into another language such as SQL.