LINQ Interview Question #94
What is query composition in LINQ?
Deferred Execution, Immediate Execution & Query Behavior Mid-Level Intermediate
Quick Interview Answer
Query composition means building a query incrementally by applying additional operators before execution. This is especially useful with IQueryable because each step can contribute to one expression tree that a provider later translates.
Detailed Explanation
Query composition means building a query incrementally by applying additional operators before execution. This is especially useful with IQueryable because each step can contribute to one expression tree that a provider later translates.
It is commonly used to add optional search filters, sorting, and pagination based on user input.
Code Example
IQueryable<Product> query = db.Products;
if (onlyActive)
query = query.Where(p => p.IsActive);
if (minimumPrice.HasValue)
query = query.Where(
p => p.Price >= minimumPrice.Value);
var result = await query.ToListAsync();