eQuantic.Core.Data.EntityFramework.MongoDb 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.MongoDb --version 8.2.0
                    
NuGet\Install-Package eQuantic.Core.Data.EntityFramework.MongoDb -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.MongoDb" 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.MongoDb" Version="8.2.0" />
                    
Directory.Packages.props
<PackageReference Include="eQuantic.Core.Data.EntityFramework.MongoDb" />
                    
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.MongoDb --version 8.2.0
                    
#r "nuget: eQuantic.Core.Data.EntityFramework.MongoDb, 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.MongoDb@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.MongoDb&version=8.2.0
                    
Install as a Cake Addin
#tool nuget:?package=eQuantic.Core.Data.EntityFramework.MongoDb&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 (1)

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

Package Downloads
eQuantic.Core.Persistence.MongoDb

eQuantic Persistence with MongoDB Library

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 45 7/20/2026
10.0.2 201 3/2/2026
10.0.1 116 3/2/2026
10.0.0 131 2/17/2026
9.1.2 157 3/2/2026
9.1.1 113 3/2/2026
9.1.0 116 2/17/2026
9.0.1 316 6/17/2025
9.0.0 224 4/19/2025
8.3.0 41 7/20/2026
8.2.0 43 7/20/2026
8.1.2 168 3/2/2026
8.1.1 119 3/2/2026
8.1.0 124 2/17/2026
8.0.12 318 6/17/2025
8.0.11 254 4/19/2025
8.0.10 245 2/27/2025
8.0.9 340 2/17/2025
8.0.8 602 1/8/2025
Loading failed

Entity ignorant persistance with Repository Pattern for Entity
           Framework