Axlis.ORM
0.3.0
dotnet add package Axlis.ORM --version 0.3.0
NuGet\Install-Package Axlis.ORM -Version 0.3.0
<PackageReference Include="Axlis.ORM" Version="0.3.0" />
<PackageVersion Include="Axlis.ORM" Version="0.3.0" />
<PackageReference Include="Axlis.ORM" />
paket add Axlis.ORM --version 0.3.0
#r "nuget: Axlis.ORM, 0.3.0"
#:package Axlis.ORM@0.3.0
#addin nuget:?package=Axlis.ORM&version=0.3.0
#tool nuget:?package=Axlis.ORM&version=0.3.0
Axlis.ORM

The Sitecore Headless GraphQL ORM for .NET 8 — a strongly-typed, Synthesis-style item model built on raw HttpClient + System.Text.Json. No third-party GraphQL library required.
Part of the PowerCSharp ecosystem. Integrates with
PowerCSharp.Feature.Cachefor stampede-safe item caching.
Website: axlis.dev
Package Family
| Package | Description | TFMs |
|---|---|---|
Axlis.ORM |
Facade, cache manager, DI wiring (AddAxlisORM) |
net8.0 |
Axlis.ORM.GraphQL |
Default HttpClient+STJ transport, SitecoreService, query builder |
net8.0 |
Axlis.ORM.Core |
Domain model, field types, ExtendedItem, AxesAdapter, ItemConverter |
net8.0 |
Axlis.ORM.Abstractions |
Contracts, NoOps, AxlisResult<T>, codegen-hook attributes |
netstandard2.0 + net8.0 |
Install
dotnet add package Axlis.ORM
dotnet add package Axlis.ORM.GraphQL
Or à la carte — reference only what you need.
Quick Start
// Program.cs
// AddAxlisORM/AddAxlisORMGraphQL take an Action<TOptions> delegate — bind from
// IConfiguration explicitly, or set values inline.
builder.Services
.AddAxlisORM(o => builder.Configuration.GetSection("Axlis").Bind(o))
.AddAxlisORMGraphQL(o => builder.Configuration.GetSection("AxlisGraphQL").Bind(o));
var app = builder.Build();
app.Services.UseAxlis(); // wires the ambient lazy-loader for Axes traversal
// appsettings.json
{
"Axlis": {
"CacheTtl": "01:00:00",
"EnableDiagnostics": true
},
"AxlisGraphQL": {
"Endpoint": "https://your-sitecore-instance/sitecore/api/graph/edge",
"ApiKey": "your-sc_apikey-here"
}
}
// Your strongly-typed template
[SitecoreTemplate("{6D1CD897-1936-4A3A-A511-289A94C2A7B1}")]
public class DictionaryEntry : ExtendedItem
{
[SitecoreField("Key")]
public TextField Key => GetField<TextField>("Key");
[SitecoreField("Phrase")]
public TextField Phrase => GetField<TextField>("Phrase");
}
// Fetch an item
var item = await facade.GetItemByPathAsync<DictionaryEntry>("/sitecore/content/dictionary/my-key");
Console.WriteLine(item?.Phrase.RawValue);
// Axes traversal
var children = item?.Axes.Children;
var parent = item?.Axes.Parent;
var siblings = item?.Axes.Siblings;
var pages = item?.Axes.GetChildren<MyPage>(i => i.InnerItem?.Template?.Id == MyPage.TemplateId);
// Rich result with metadata and diagnostics
var result = await facade.GetItemByPathWithResultAsync<DictionaryEntry>("/sitecore/content/dictionary/my-key");
Console.WriteLine(result.Metadata?.ItemPath);
What's Included
SitecoreFacade : ISitecoreFacade— clean + rich (WithResult) APIs for all four fetch methodsSitecoreItemCacheManager— stampede-safeICacheServicewrapper; dual-indexes by ID + pathSitecoreItemLazyLoader : IItemLazyLoader— lazy-fetch forExtendedItem.AxestraversalLoggerAxlisDiagnosticsSink— defaultIAxlisDiagnosticsSinkrouting events toILoggerAddAxlisORM()/AddAxlisORMGraphQL()/UseAxlis()— DI registration helpersAxlisOptions—CacheTtl,EnableDiagnostics
Documentation
Full Axlis.ORM documentation:
Sample App
See Axlis.CleanArchitecture.Sample — a full working consumer built on PowerCSharp.CleanArchitecture.
See the Axlis repository for ecosystem information.
| 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
- Axlis.ORM.GraphQL (>= 0.3.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Http (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Options (>= 8.0.0)
- PowerCSharp.Feature.Cache.Abstractions (>= 1.3.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.