Republished with Permission - Original Article
LINQ (language integrated query) is one of the
new features provided with VS 2008 and .NET 3.5. LINQ makes the concept
of querying data a first class programming concept in .NET, and enables you to
efficiently express queries in your programming language of choice.
One of the benefits of LINQ is that it enables
you to write type-safe queries in VB and C#. This means you get
compile-time checking of your LINQ queries, and full intellisense and
refactoring support over your code:
Figure 1
While writing type-safe queries is great for most scenarios,
there are cases where you want the flexibility to dynamically construct queries
on the fly. For example: you might want to provide business intelligence
UI within your application that allows an end-user business analyst to use
drop-downs to build and express their own custom queries/views on top of
data.
Traditionally these types of dynamic query scenarios are
often handled by concatenating strings together to construct dynamic SQL
queries. Recently a few people have sent me mail asking how to handle
these types of scenarios using LINQ. The below post describes how you can
use a Dynamic Query Library provided by the LINQ team to dynamically construct
LINQ queries.