eQuantic.Core.Data.EntityFramework 8.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package eQuantic.Core.Data.EntityFramework --version 8.2.0
                    
NuGet\Install-Package eQuantic.Core.Data.EntityFramework -Version 8.2.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="eQuantic.Core.Data.EntityFramework" Version="8.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="eQuantic.Core.Data.EntityFramework" Version="8.2.0" />
                    
Directory.Packages.props
<PackageReference Include="eQuantic.Core.Data.EntityFramework" />
                    
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 eQuantic.Core.Data.EntityFramework --version 8.2.0
                    
#r "nuget: eQuantic.Core.Data.EntityFramework, 8.2.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 eQuantic.Core.Data.EntityFramework@8.2.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=eQuantic.Core.Data.EntityFramework&version=8.2.0
                    
Install as a Cake Addin
#tool nuget:?package=eQuantic.Core.Data.EntityFramework&version=8.2.0
                    
Install as a Cake Tool

eQuantic.Core.Data.EntityFramework

The Entity Framework Core implementation of eQuantic.Core.Data. You code against the provider-agnostic IRepository<TEntity, TKey> / IUnitOfWork contracts; this package supplies the EF Core engine for SQL Server, PostgreSQL, MySQL and MongoDB.

// A repository over any IEntity<TKey>, obtained from your DbContext-backed unit of work:
var repo = unitOfWork.GetAsyncRepository<OrderData, Guid>();

// Query typed and fluent — one QueryOptions, no magic strings:
var page = await repo.GetPagedAsync(
    PageRequest.Of(pageIndex: 1, pageSize: 20),
    new QueryOptions<OrderData>()
        .Where(o => o.Total, FilterOperator.GreaterThan, 100m)
        .And(o => o.Customer.Name, FilterOperator.Contains, term)
        .OrderByDescending(o => o.CreatedAt)
        .Include(nameof(OrderData.Customer))
        .NoTracking());

// page is a PagedResult<OrderData>: Items + TotalCount + PageIndex/PageSize/PageCount + Has*Page

What this package gives you

eQuantic.Core.Data defines the contractsIRepository, IUnitOfWork, QueryOptions, PageRequest, PagedResult, specifications — with the persistence engine kept out of the type signatures (IRepository<TEntity, TKey>, not IRepository<TUnitOfWork, TEntity, TKey>).

This package is the Entity Framework Core implementation of those contracts. It translates a single QueryOptions<TEntity> into an EF IQueryable — applying, in order, custom before hooks, the specification and predicate filter, eager Includes, sortings (server-side / EF-translatable), AsNoTracking, IgnoreQueryFilters, query tags and custom after hooks — and returns PagedResult<T> from paged reads. The relational providers also carry a parameterized raw-SQL executor (functions and stored procedures, always via DbParameter).

How you query

QueryOptions<TEntity> mirrors the eQuantic.Linq query builders, so filters read like code and fail at compile time — not at runtime:

new QueryOptions<OrderData>()
    .Where(o => o.Total, FilterOperator.GreaterThanOrEqual, 100m)   // typed member selector
    .And(o => o.Status, FilterOperator.Equal, OrderStatus.Paid)     // clauses fold left to right:
    .Or(o => o.Customer.IsVip, FilterOperator.Equal, true)          //   (total>=100 AND paid) OR vip
    .OrderByDescending(o => o.CreatedAt)
    .ThenBy("customer.name")                                        // string path for dynamic columns
    .Include(nameof(OrderData.Customer))
    .NoTracking();

You reach for whichever filter form fits — member selector, string path, ISpecification<T>, Expression<Func<T,bool>>, a serialized ExpressionModel<T>, or an eQuantic.Linq.Web query string — all end up as one predicate the provider translates. The full query-string grammar is documented in the eQuantic.Linq reference.

Providers

Package Database
eQuantic.Core.Data.EntityFramework.SqlServer SQL Server
eQuantic.Core.Data.EntityFramework.PostgreSql PostgreSQL
eQuantic.Core.Data.EntityFramework.MySql MySQL (Pomelo)
eQuantic.Core.Data.EntityFramework.MongoDb MongoDB (EF Core provider)

The three relational providers share eQuantic.Core.Data.EntityFramework.Relational; every provider builds on the base eQuantic.Core.Data.EntityFramework. Register your DbContext-backed unit of work and the open-generic repositories through AddRelationalRepositories<TUnitOfWorkInterface, TUnitOfWorkImpl>() — the full wiring is in the walkthrough.

Versioning — pick the package major that matches your runtime

This library targets .NET 8 and .NET 10, and each runtime is published as its own package major so the EF Core lines never mix:

Your app Install Targets
.NET 8 8.x (e.g. 8.2.0) net8.0, EF Core 8
.NET 10 10.x (e.g. 10.1.0) net10.0, EF Core 10

The shared multi-framework assemblies (the referenceable base eQuantic.Core.Data.EntityFramework and eQuantic.Core.Data.EntityFramework.Relational) stay in the 4.x line on purpose — a neutral lane that must not be read as a .NET version. You normally consume only the provider package for your runtime (8.x / 10.x), which pulls the right shared assemblies transitively.

Install

# .NET 8 app + SQL Server
dotnet add package eQuantic.Core.Data.EntityFramework.SqlServer --version 8.*

# .NET 10 app + PostgreSQL
dotnet add package eQuantic.Core.Data.EntityFramework.PostgreSql --version 10.*

Swap the suffix for PostgreSql, MySql or MongoDb as needed.

Learn more

MIT © eQuantic Tech

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 (7)

Showing the top 5 NuGet packages that depend on eQuantic.Core.Data.EntityFramework:

Package Downloads
eQuantic.Core.Persistence

eQuantic Persistence Library

eQuantic.Core.Data.EntityFramework.SqlServer

Core Data library for Entity Framework and SQL Server

eQuantic.Core.Data.EntityFramework.MongoDb

Core Data library for Entity Framework and Mongo DB

eQuantic.Core.Data.EntityFramework.MySql

Core Data library for Entity Framework and MySQL

eQuantic.Core.Data.EntityFramework.PostgreSql

Core Data library for Entity Framework and PostgreSQL

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.2.0 41 7/20/2026
10.1.0 47 7/20/2026
10.0.2 293 3/2/2026
10.0.1 134 3/2/2026
9.1.2 273 3/2/2026
9.1.1 150 3/2/2026
9.1.0 160 2/17/2026
8.3.0 40 7/20/2026
8.2.0 44 7/20/2026
8.1.2 316 3/2/2026
8.1.1 154 3/2/2026
8.1.0 145 2/17/2026
7.1.2 132 3/2/2026
7.1.1 130 3/2/2026
6.1.2 206 3/2/2026
6.1.1 134 3/2/2026
4.6.0 45 7/20/2026
4.5.0 57 7/20/2026
4.4.2 491 3/2/2026
4.4.1 341 3/2/2026
Loading failed

Entity ignorant persistance with Repository Pattern for Entity
Framework