Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Core
  3. System.Linq.Dynamic.Core

System.Linq.Dynamic.Core

Apache-2.0C#v1.7.4

A .NET library for writing dynamic LINQ queries using string expressions, supporting .NET Core, .NET Standard, and .NET Framework.

Visit WebsiteGitHubGitHub
1.7k stars246 forks0 contributors

What is System.Linq.Dynamic.Core?

System.Linq.Dynamic.Core is a .NET library that allows developers to construct LINQ queries dynamically using string expressions. It solves the problem of building queries at runtime, such as when filter conditions, sorting, or projections are not known until execution time. This is especially useful for applications with dynamic search interfaces or configurable data access layers.

Target Audience

.NET developers building data-driven applications that require runtime query composition, such as dynamic reporting tools, admin dashboards, or APIs with flexible filtering options.

Value Proposition

Developers choose this library because it provides a secure and well-maintained port of the original Microsoft Dynamic LINQ functionality for modern .NET platforms. It offers extensive configurability, security mitigations, and support for interpolated strings, making dynamic query building safer and more expressive.

Overview

The .NET Standard / .NET Core version from the System Linq Dynamic functionality.

Use Cases

Best For

  • Building dynamic search interfaces with user-defined filters
  • Creating admin panels with configurable data grids
  • Implementing generic repository patterns with runtime query support
  • Developing APIs that accept query parameters for filtering and sorting
  • Migrating legacy applications using Dynamic LINQ to .NET Core/Standard
  • Prototyping data access layers without hardcoded query logic

Not Ideal For

  • Projects demanding strict compile-time type safety and static analysis
  • Applications needing frequent, unannotated method calls on custom objects
  • High-performance systems where runtime expression parsing overhead is critical

Pros & Cons

Pros

Dynamic Query Flexibility

Enables runtime construction of LINQ queries using string expressions, allowing for user-defined filters and sorts without code changes, as shown in the README's Where and OrderBy examples.

Security-First Configuration

Offers configurable security measures like restricted method calls on object types and property-only OrderBy to mitigate injection risks, detailed in the v1.6.0 breaking changes.

Broad Framework Compatibility

Supports a wide range of .NET frameworks from .NET 3.5 to .NET 9.0, including .NET Core and Standard, ensuring it works across legacy and modern applications.

Interpolated String Support

Provides WhereInterpolated and similar methods for safer, readable dynamic queries using interpolated strings on supported .NET versions, enhancing code clarity.

Cons

Breaking Changes Burden

Security updates like v1.6.0 introduce breaking changes that disable methods on object by default, forcing code adjustments or config tweaks, which can disrupt existing projects.

Configuration Overhead

Using custom types or methods requires annotating classes with [DynamicLinqType] or implementing custom providers, adding setup complexity compared to static LINQ.

Runtime Performance Cost

Parsing string expressions at runtime incurs overhead versus compile-time lambdas, potentially impacting performance in query-intensive applications.

Frequently Asked Questions

Quick Stats

Stars1,712
Forks246
Contributors0
Open Issues52
Last commit7 days ago
CreatedSince 2016

Tags

#dynamic-queries#query-builder#system#linq#netstandard#data-access#expression#security#dotnet#net-core#core#dynamic#efcore#net-standard#entity-framework#sql

Built With

.
.NET Core
.
.NET Standard
.
.NET

Links & Resources

Website

Included in

Core21.2k
Auto-fetched 6 hours ago

Related Projects

AutoMapperAutoMapper

A convention-based object-object mapper in .NET.

Stars10,189
Forks2,401
Last commit3 days ago
HumanizerHumanizer

Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities

Stars9,865
Forks1,067
Last commit3 days ago
FluentValidationFluentValidation

A popular .NET validation library for building strongly-typed validation rules.

Stars9,752
Forks1,276
Last commit26 days ago
AngleSharpAngleSharp

:angel: The ultimate angle brackets parser library parsing HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specifications.

Stars5,530
Forks596
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub