Dynamic Query in LINQ using Predicate Builder

Introduction

This tutorial explains how to create a dynamic query using LINQ, Using Predicate Builder  LINQ to SQL dynamic query and Query with Entity Framework is easy. This concept first implement by albahari

Description

Predicate Builder is powerful LINQ expression which is mainly used when too many search filter parameter is there for querying data by writing dynamic query expression. We can write a query like Dynamic SQL.

To know more about predicate delegate visit Predicate Delegate

How To Implement Predicate Builder


In this example, I have created an instance of PredicateBuilder with PatientInfo Model and add multiple OR and AND Condition based on their value. Predicate Builder automatically creates a dynamic query with Linq and combined into one Expression.

dynamic-linq-sample.cs



When We have a grid which filters record based on applied filter and filter parameter is in large number decision of use Dynamic LINQ result very high performance and minimize code writing while implementation otherwise it requires a number of if else statement based on filter parameter.

In the above code, I have used entity framework Entity function which is very useful when we have to perform DateTime operation. It is internally worked as SQL DateTime function.

 

PrecateBuilder.cs




Above Predicate builder helper method reference from albahari and from StackOverflow article and learn how powerful feature it is. predicate builder also works with IEnumerable and IQueryable.

Conclusion:

This article explains the implementation of Dynamic Linq query using Predicate Builder. Hope this article is useful while implementing dynamic query using LINQ.
Thanks to Pavel Valdov for C# code syntax highlighter.

2 comments:

Dynamic Query in LINQ using Predicate Builder

Introduction This tutorial explains how to create a dynamic query using LINQ, Using Predicate Builder  LINQ to SQL dynamic query an...

Learn More