OGToolz.Atlas.Projections
1.1.1
dotnet add package OGToolz.Atlas.Projections --version 1.1.1
NuGet\Install-Package OGToolz.Atlas.Projections -Version 1.1.1
<PackageReference Include="OGToolz.Atlas.Projections" Version="1.1.1" />
<PackageVersion Include="OGToolz.Atlas.Projections" Version="1.1.1" />
<PackageReference Include="OGToolz.Atlas.Projections" />
paket add OGToolz.Atlas.Projections --version 1.1.1
#r "nuget: OGToolz.Atlas.Projections, 1.1.1"
#:package OGToolz.Atlas.Projections@1.1.1
#addin nuget:?package=OGToolz.Atlas.Projections&version=1.1.1
#tool nuget:?package=OGToolz.Atlas.Projections&version=1.1.1
OGToolz.Atlas.Projections
LINQ-translatable projection (ProjectTo) for the Atlas object-to-object mapper. Designed for EF Core and other IQueryable providers — the configured map is translated to a Select expression once and reused.
Install
dotnet add package OGToolz.Atlas
dotnet add package OGToolz.Atlas.Projections
Quick start
using Atlas;
using Atlas.Projections;
var dtos = db.Blogs
.Where(b => b.Year >= 2025)
.ProjectTo<BlogDto>(configuration)
.ToList();
The configuration is validated eagerly at the call site; non-projectable constructs (delegate-form ConvertUsing, missing maps, unmapped destination members) throw AtlasProjectionException listing every problem. Default recursion depth is 3 (per-call override available).
Expression translation (UseAsDataSource)
The same package ships the inverse direction — write predicates and ordering in destination-DTO terms, and have them translated back to source-typed expressions before they hit the provider:
var orders = db.Orders
.UseAsDataSource(configuration)
.For<OrderDto>()
.Where(d => d.CustomerName.StartsWith("A"))
.OrderBy(d => d.Total)
.Take(10)
.ToList();
Documentation
See the main repository for the full developer guide, design documents, and the v2 feature compatibility matrix:
- Repository: https://github.com/ajs-uk-dev/Atlas
- Developer guide:
docs/DeveloperGuide.md
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- OGToolz.Atlas (>= 1.1.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.