Entity Framework Classic LINQ Dynamic
Description
You can execute query dynamically through free extensions provided by the library Eval-Expression.NET.
This feature is available for free in the EF Classic Community.
Predicate
All LINQ predicate methods are supported.
var list = context.Customers.WhereDynamic(x => "x.IsActive").ToList(); var list2 = context.Customers.WhereDynamic(x => "x.IsActive == IsActive", new { IsActive = false }).ToList();
Try it: NET Core | NET Framework
Deferred Methods
| Name | Description | Example |
|---|---|---|
OrderByDescendingDynamic | Sorts the elements of a sequence in descending order using a dynamic expression. | NET Core / NET Framework |
OrderByDynamic | Sorts the elements of a sequence in ascending order using a dynamic expression. | NET Core / NET Framework |
SelectManyDynamic | Projects each element of a sequence to an IEnumerable | NET Core / NET Framework |
SelectDynamic | Projects each element of a sequence into a new form using a dynamic expression. | NET Core / NET Framework |
SkipWhileDynamic | Skip all elements until the predicate is not satisfy. | |
TakeWhileDynamic | Take all elements until the predicate is not satisfy. | |
ThenByDescendingDynamic | Performs a subsequent ordering of the elements in a sequence in descending order using a dynamic expression. | NET Core / NET Framework |
ThenByDynamic | Performs a subsequent ordering of the elements in a sequence in ascending order using a dynamic expression. | NET Core / NET Framework |
WhereDynamic | Filters a sequence of values based on a predicate using a dynamic expression. | NET Core / NET Framework |
Immediate Methods
| Name | Description | Example |
|---|---|---|
AllDynamic | Determines whether all elements of a sequence satisfy a condition using a dynamic expression. | NET Core / NET Framework |
AnyDynamic | Determines whether any element of a sequence exists or satisfies a condition using a dynamic expression. | NET Core / NET Framework |
CountDynamic | Returns the number of elements in a sequence using a dynamic expression. | NET Core / NET Framework |
FirstDynamic | Returns the first element of a sequence using a dynamic expression. | NET Core / NET Framework |
FirstOrDefaultDynamic | Returns the first element of a sequence, or a default value if no element is found using a dynamic expression. | NET Core / NET Framework |
LongCountDynamic | Returns an Int64 that represents the number of elements in a sequence using a dynamic expression. | NET Core / NET Framework |
SingleDynamic | Returns a single, specific element of a sequence using a dynamic expression. | NET Core / NET Framework |
SingleOrDefaultDynamic | Returns a single, specific element of a sequence, or a default value if that element is not found using a dynamic expression. | NET Core / NET Framework |
Execute
The Execute method is the LINQ Dynamic ultimate methods which let you evaluate and execute a dynamic expression and return the result.
var list = context.Customers.Execute<IEnumerable<Customer>>("Where(x => x.IsActive == true)").ToList(); var list2 = context.Customers.Execute<IEnumerable<Customer>>("Where(x => x.IsActive == IsActive)", new { IsActive = false }).ToList();
Try it: NET Core / NET Framework
Methods
| Name | Description | Example |
|---|---|---|
Execute | Execute LINQ dynamic using an expression. | NET Core / NET Framework |
Execute<TResult> | Execute LINQ dynamic using an expression. | NET Core / NET Framework |