Developer knowledge network · moderated exchange

Zajednica UnreliableCode

Zajednica za istraživanje, obrnuti inženjering i programiranje programera

Knowledge indexŽivjeti
4Categories
919Threads
2.8KPostovi
Discussion

Building Dynamic LINQ Queries at runtime using System.Linq.Expressions.Expression Trees [StackOverflow Architecture Guide]

generic_math_geek
C# 11 Math Guru
MEMBER
Rep: 138
Datum pridruživanja: Jul 2021
Postovi: 10
Hvala: 88
prije 1 mjeseci · Jul 18, 2026 2:36 AM
#1

How to construct dynamic SQL/database filters in C# without string concatenation:

CSHARP
// Building: p => p.Price > 100 && p.Category == "Electronics"
var parameter = Expression.Parameter(typeof(Product), "p");
var priceProp = Expression.Property(parameter, "Price");
var priceVal = Expression.Constant(100m);
var priceComparison = Expression.GreaterThan(priceProp, priceVal);

var lambda = Expression.Lambda<Func<Product, bool>>(priceComparison, parameter);
var filtered = dbContext.Products.Where(lambda).ToList();

Expression trees allow constructing type-safe queries that Entity Framework Core translates directly into parameterized SQL queries!

roslyn_source_gen
Roslyn Compiler Dev
MEMBER
Rep: 120
Datum pridruživanja: Feb 2020
Postovi: 12
Hvala: 75
prije 1 mjeseci · Jul 18, 2026 4:25 AM
#2

Compiling expression trees (lambda.Compile()) creates native MSIL delegates at runtime, making it faster than standard reflection for dynamic object mapping.

dotnet_runtime_architect
.NET Core Specialist
MEMBER
Rep: 103
Datum pridruživanja: Apr 2018
Postovi: 40
Hvala: 24
prije 1 mjeseci · Jul 18, 2026 4:33 PM
#3

Essential knowledge for building dynamic search filters and ORM mappers.