eQuantic.Core.Data.EntityFramework.MongoDb
8.2.0
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
<PackageReference Include="eQuantic.Core.Data.EntityFramework.MongoDb" Version="8.2.0" />
<PackageVersion Include="eQuantic.Core.Data.EntityFramework.MongoDb" Version="8.2.0" />
<PackageReference Include="eQuantic.Core.Data.EntityFramework.MongoDb" />
paket add eQuantic.Core.Data.EntityFramework.MongoDb --version 8.2.0
#r "nuget: eQuantic.Core.Data.EntityFramework.MongoDb, 8.2.0"
#:package eQuantic.Core.Data.EntityFramework.MongoDb@8.2.0
#addin nuget:?package=eQuantic.Core.Data.EntityFramework.MongoDb&version=8.2.0
#tool nuget:?package=eQuantic.Core.Data.EntityFramework.MongoDb&version=8.2.0
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 contracts — IRepository, 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.EntityFrameworkandeQuantic.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
- Repository Pattern walkthrough — data entities, unit of work, repository and specifications, end to end.
- eQuantic.Core.Data — the contracts and the
QueryOptions/PagedResult/PageRequestquery surface, backed by the eQuantic.Linq query engine.
MIT © eQuantic Tech
| 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 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. |
-
net8.0
- eQuantic.Core (>= 1.8.4)
- eQuantic.Core.Data (>= 5.1.0)
- eQuantic.Core.Data.EntityFramework (>= 4.5.0)
- Microsoft.EntityFrameworkCore (>= 8.0.29)
- MongoDB.EntityFrameworkCore (>= 8.4.2)
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 |
Entity ignorant persistance with Repository Pattern for Entity
Framework