CrudQL.Service 0.5.0

dotnet add package CrudQL.Service --version 0.5.0
                    
NuGet\Install-Package CrudQL.Service -Version 0.5.0
                    
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="CrudQL.Service" Version="0.5.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CrudQL.Service" Version="0.5.0" />
                    
Directory.Packages.props
<PackageReference Include="CrudQL.Service" />
                    
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 CrudQL.Service --version 0.5.0
                    
#r "nuget: CrudQL.Service, 0.5.0"
                    
#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 CrudQL.Service@0.5.0
                    
#: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=CrudQL.Service&version=0.5.0
                    
Install as a Cake Addin
#tool nuget:?package=CrudQL.Service&version=0.5.0
                    
Install as a Cake Tool

CRUD‑QL for .NET

NuGet Version NuGet Downloads License: MIT

Build secure, declarative CRUD over EF Core via a single endpoint.

🚀 Overview

CRUD‑QL lets you ship CRUD APIs faster by turning EF Core entities into a secure, declarative, single‑route endpoint. Ditch boilerplate controllers and focus on domain rules, not plumbing.

✨ Why CRUD‑QL

  • Ship faster: no per‑entity controllers/DTO mapping.
  • Secure by default: RBAC/ABAC and allowed includes guard data shape.
  • Validation first: FluentValidation on create/update and read filters.
  • Shape responses: field projection + masked values by role.
  • Works with your DbContext: auto‑registration from EF Core.

📦 Install

dotnet add package CrudQL.Service

📚 Documentation

💡 Concept

Expose full CRUD for any entity with a couple of lines:

builder.Services.AddCrudQl()
    .AddEntity<Product>()
    .AddEntity<Customer>();

app.MapCrudQl(); // exposes /crud

This enables:

  • GET /crud
  • POST /crud
  • PUT /crud
  • DELETE /crud

🧩 Architecture

  1. Transport — single HTTP endpoint (/crud)
  2. Validation — request parsing and entity/field validation
  3. AuthN & AuthZ — policy‑based authorization (RBAC/ABAC)
  4. Execution — Expression Trees → EF Core → materialization

JSON‑QL is a compact JSON shape to express selection, filters, ordering, and safe includes.

🧱 Automatic Entity Registration

Automatically discovers your DbSets, wires resolvers, and applies validators/policies from your DbContext — without manual plumbing.

🧰 Key Features

  • Query: nested filters (and/or), sorting, pagination
  • Mutations: create/update/delete with validation
  • Auth: RBAC/ABAC (row‑ and field‑level)
  • Validation: FluentValidation (create/update and read filters)
  • Pagination: offset or keyset
  • Projections: field‑level access with masking
  • Joins: safe includes via allowed paths

🧠 Future Extensions

  • Aggregations (count/sum/avg) with filters
  • Batch operations & uploads
  • Source generator for DTOs/configs
  • SDKs (TypeScript/.NET) with typings
  • Compiled LINQ cache and observability (logging/metrics)

🙋 Who Is It For

  • Teams building EF Core APIs who want to cut boilerplate.
  • Multi‑tenant or role‑sensitive apps that need strict data shaping.
  • Squads standardizing CRUD patterns across many entities.

🚫 Not a Fit

  • Apps needing a full GraphQL server with complex schema federation.
  • Scenarios without EF Core or where ORM is not desired.

🤝 Contributing

Issues and PRs are welcome. Share feedback and ideas on the repo’s issue tracker.

🔐 Security

If you discover a vulnerability, please open a private report or contact the maintainers.

📜 License

MIT © 2025 – Forgate Labs Built with ❤️ by [Eduardo Cunha]

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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.

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
0.5.0 150 2/11/2026
0.4.1 125 2/10/2026
0.4.0 128 2/10/2026
0.3.1 205 11/26/2025
0.3.0 210 11/25/2025
0.2.0 211 11/25/2025
0.1.0 208 11/24/2025
0.0.11 185 11/23/2025
0.0.10 168 11/23/2025
0.0.9 225 11/2/2025
0.0.8 164 10/25/2025
0.0.7 133 10/25/2025
0.0.6 204 10/23/2025
0.0.5 187 10/17/2025
0.0.4 204 10/16/2025
0.0.3 202 10/15/2025
0.0.2 197 10/15/2025
0.0.1 200 10/15/2025