DataFilter.Expressions.Server
1.1.4
dotnet add package DataFilter.Expressions.Server --version 1.1.4
NuGet\Install-Package DataFilter.Expressions.Server -Version 1.1.4
<PackageReference Include="DataFilter.Expressions.Server" Version="1.1.4" />
<PackageVersion Include="DataFilter.Expressions.Server" Version="1.1.4" />
<PackageReference Include="DataFilter.Expressions.Server" />
paket add DataFilter.Expressions.Server --version 1.1.4
#r "nuget: DataFilter.Expressions.Server, 1.1.4"
#:package DataFilter.Expressions.Server@1.1.4
#addin nuget:?package=DataFilter.Expressions.Server&version=1.1.4
#tool nuget:?package=DataFilter.Expressions.Server&version=1.1.4
DataFilter.Expressions.Server
Extension for applying DataFilter criteria to IQueryable<T> with compiled LINQ expression trees (EF Core, Dapper, etc.).
Visual customization: UI packages only — CUSTOMIZATION.md.
NuGet integration
Install the package
dotnet add package DataFilter.Expressions.Server
Target frameworks
net8.0, net9.0
Dependencies
DataFilter.Core
Use alongside your UI stack or API layer; no UI references.
Visual theming is handled by UI packages (FilterTheme in PlatformShared) — CUSTOMIZATION.md.
Quick start
using DataFilter.Core.Enums;
using DataFilter.Core.Models;
using DataFilter.Core.Pipeline;
using DataFilter.Core.Services;
using DataFilter.Expressions.Server.Services;
// Build or restore filter context from UI snapshot
var context = new FilterContext();
context.AddOrUpdateDescriptor(new FilterDescriptor("Department", FilterOperator.Equals, "IT"));
// Apply filters + multi-column sort to IQueryable
var engine = new QueryableFilterEngine<Employee>();
var query = engine.Apply(dbContext.Employees, context);
// From a filter pipeline preset
var pipeline = FilterPipelineSnapshotMapper.ToPipeline(pipelineSnapshot);
context.ReplaceDescriptors(FilterPipelineCompiler.Compile(pipeline));
var filtered = engine.Apply(dbContext.Employees, context).ToList();
Features
QueryableFilterEngine<T>— appliesIFilterContext.DescriptorsandSortDescriptorsto anIQueryable<T>.- Uses
FilterExpressionBuilderfrom Core (logical groups, wildcards in text patterns, all standard operators). TopNFilter,AverageFilter— optional aggregate helpers for advanced scenarios.
Usage
using DataFilter.Core.Models;
using DataFilter.Core.Services;
using DataFilter.Expressions.Server.Services;
// 1. Receive snapshot from UI (WPF, Blazor, or API body)
FilterSnapshot snapshot = DeserializeFromClient();
// 2. Restore into a FilterContext
var context = new FilterContext();
new FilterSnapshotBuilder().RestoreSnapshot(context, snapshot);
// 3. Apply to IQueryable (filter + sort)
var engine = new QueryableFilterEngine<MyDataModel>();
var filteredData = engine.Apply(dbContext.MyTable, context).ToList();
For pipeline presets, map FilterPipelineSnapshot → FilterPipeline, compile with FilterPipelineCompiler, then call context.ReplaceDescriptors(...) before Apply.
| Product | Versions 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 is compatible. 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. |
-
net8.0
- DataFilter.Core (>= 1.1.4)
-
net9.0
- DataFilter.Core (>= 1.1.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.