/dynamic-linq-query-builder

A truly generic and dynamic linq query builder to compliment jQuery QueryBuilder and other dynamic linq query generation needs

Primary LanguageC#Apache License 2.0Apache-2.0

Dynamic Linq Query Builder

Build status Coverage Status

dynamic-linq-query-builder is a small library that allows any .Net framework class collection to be filtered dynamically at runtime.

Features (v1.2.0)

  • 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 a number of operators for each type

    • in
    • not in
    • equal
    • not equal
    • between
    • not between
    • less
    • less or equal
    • greater
    • greater or equal
    • begins with
    • not begins with
    • contains
    • not contains
    • ends with
    • not ends with
    • is empty
    • is not empty
    • is null
    • is not null
    • custom operators via interface and options
  • Compatible with jQuery QueryBuilder (see samples for an example)

  • Targets .NET 4.5 and .NET Standard 2.0 (and by proxy, .NET Core 2.0+)

Installation

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

Getting Started

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

Contributions and pull requests are welcome.