Common.QueryKit 1.0.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package Common.QueryKit --version 1.0.4
                    
NuGet\Install-Package Common.QueryKit -Version 1.0.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Common.QueryKit" Version="1.0.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Common.QueryKit" Version="1.0.4" />
                    
Directory.Packages.props
<PackageReference Include="Common.QueryKit" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Common.QueryKit --version 1.0.4
                    
#r "nuget: Common.QueryKit, 1.0.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Common.QueryKit@1.0.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Common.QueryKit&version=1.0.4
                    
Install as a Cake Addin
#tool nuget:?package=Common.QueryKit&version=1.0.4
                    
Install as a Cake Tool

Common.QueryKit

Lightweight • EF Core--safe • Dynamic query composition library
Build powerful, fully SQL-translatable filters, sorts & paging on IQueryable<T>

Perfect for enterprise ASP.NET Core apps:
ERP systems • School Management • Admin Panels • Reporting APIs

✨ Highlights

  • 100% SQL-translatable (no client evaluation)
  • Nested properties support ("Class.GradeLevel", "Address.City.Country")
  • Strongly-typed FilterOperator enum
  • Multi-column sorting with direction control
  • Range filtering (Between), In, null checks
  • Property whitelisting for security
  • Clean & simple pagination
  • Explicit Count-safe API
  • Minimal footprint, predictable performance

📦 Installation

dotnet add package Common.QueryKit

🚀 Quick Start

var request = new QueryRequest
{
    Filters =
    [
        new() { Property = "FullName", Operator = FilterOperator.Contains, Value = "john" },
        new() { Property = "BirthDate", Operator = FilterOperator.Between, From = new DateTime(2000,1,1), To = new DateTime(2010,12,31) },
        new() { Property = "Status", Operator = FilterOperator.In, Value = new[] { "Active", "Pending" } }
    ],

    Sorts =
    [
        new() { Property = "Class.Name" },
        new() { Property = "CreatedAt", Descending = true }
    ],

    Page = 1,
    PageSize = 25
};

Fetch paged data

var students = await dbContext.Students
    .Apply(request)
    .ToListAsync();

Fetch total count (safe -- no paging)

var totalCount = await dbContext.Students
    .ApplyForCount(request)
    .CountAsync();

🔧 Supported Operators

Operator Description


Equals == NotEquals != Contains string contains StartsWith starts with EndsWith ends with GreaterThan > GreaterThanOrEqualLessThan < LessThanOrEqualBetween value between From ↔ To In value in collection NotIn value not in collection IsNull is null IsNotNull is not null

var allowed = new PropertyWhitelist(
    "Id", "FullName", "Email", "BirthDate",
    "Class.Name", "Class.GradeLevel", "CreatedAt"
);

var students = dbContext.Students
    .Apply(request, allowed)
    .ToList();

📋 Requirements

  • .NET 8.0+
  • Entity Framework Core 8.0+

❤️ License

MIT License

Created with ♥ by Muammar Siddiqui • Innovador Solutions


Happy querying! 🚀

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.8 89 2/4/2026
1.0.7 89 1/9/2026
1.0.6 93 1/7/2026
1.0.5 97 1/1/2026
1.0.4 96 12/30/2025
1.0.3 98 12/27/2025
1.0.2 93 12/27/2025
1.0.1 89 12/27/2025
1.0.0 172 12/23/2025