dynamic-linq-query-builder
is a small library that allows any .Net
framework class collection to be filtered dynamically at runtime.
Generates an IQueryable
from any collection and filter combination
Capable of complex, grouped queries against as many fields as you want
Supports nested objects and collections via dot notation
Supports ORMs like EF6
, EFCore
, and MongoDB Client >=2.19
Supports a number of operators for each type
Compatible with jQuery QueryBuilder (see samples for an example)
Targets .NET 4.5, .NET Standard 2.0, .NET 6, and .NET 8
dynamic-linq-query-builder
can be installed via the nuget UI (as Castle.DynamicLinqQueryBuilder), or via the nuget package manager console:
PM> Install-Package Castle.DynamicLinqQueryBuilder
dynamic-linq-query-builder-system-text-json
can be installed via the nuget UI (as Castle.DynamicLinqQueryBuilder.SystemTextJson), or via the nuget package manager console:
PM> Install-Package Castle.DynamicLinqQueryBuilder.SystemTextJson
The easiest way to get started is to install the NuGet package and take a look at the MVC sample application included in the source code. It contains a working example of both dynamic-linq-query-builder
and jQuery-QueryBuilder
.
Additionally, see the Wiki
Contributions and pull requests are welcome with associated unit tests.