Stampede-safe caching
PowerCSharp.Feature.Cache.Abstractions is the exact dependency Axlis.ORM takes for its caching layer — one concurrent origin call per cache key, not one per waiting request.
Part of the PowerCSharp ecosystem · Early Adopters
Every project accumulates the same small utilities: null-safe extension methods, retry/cache helpers, sanitization for untrusted input. Writing them from scratch inside Axlis would mean maintaining code that has nothing to do with Sitecore, and re-solving problems that are already solved. Instead, Axlis takes a direct dependency on PowerCSharp, a library of C# extension methods, utilities, and a pluggable Features Framework for .NET, built and maintained by a senior C# architect with 20+ years of experience.
Concretely: Axlis.ORM references PowerCSharp.Feature.Cache.Abstractions to get stampede-safe item caching — the guarantee that when many requests ask for the same uncached Sitecore item at once, only one of them actually hits the GraphQL Edge endpoint while the rest wait on that result, instead of every request stampeding the same origin call. That's the kind of concern Axlis would otherwise have had to design, test, and maintain on its own.
Why Axlis builds on it
PowerCSharp ships as focused package families — Axlis only takes what it needs.
PowerCSharp.Feature.Cache.Abstractions is the exact dependency Axlis.ORM takes for its caching layer — one concurrent origin call per cache key, not one per waiting request.
PowerCSharp.Features/Features.Abstractions give cross-cutting concerns like caching a consistent, swappable shape instead of each library inventing its own.
PowerCSharp.Core/Extensions/Utilities/Helpers cover the null-safe, string, and collection helpers every codebase ends up writing once and reusing everywhere.
The Sanitization Feature Family is available for input coming from untrusted sources — one more concern Axlis doesn't have to solve independently as it grows.
Where it shows up
Axlis.ORM.csproj references PowerCSharp.Feature.Cache.Abstractions like any other package — versioned, upgradable independently, and covered by PowerCSharp's own release notes. Using it "helped avoid boilerplate and provided a robust cache mechanism, making the ORM fast, efficient, and maintainable" — the same rationale that applies to every future Axlis package that needs a cross-cutting concern PowerCSharp already solves.
<ItemGroup>
<PackageReference Include="PowerCSharp.Feature.Cache.Abstractions" Version="1.3.2" />
</ItemGroup>Common questions
PowerCSharp is a suite of C# extension methods and utilities for .NET, organized into focused package families: Core Libraries (extensions, utilities, helpers), a Features Framework for pluggable cross-cutting concerns, a Cache Feature Family, and a Sanitization Feature Family. It's open source and versioned independently of Axlis.
No. Axlis.ORM pulls in PowerCSharp.Feature.Cache.Abstractions as a transitive NuGet dependency — it comes along automatically. You only need to look at PowerCSharp directly if you want to use its extension methods or Features Framework in your own code, outside of Axlis.
Separate project, same author. Axlis is a Sitecore-focused ecosystem; PowerCSharp is a general-purpose .NET library with no Sitecore dependency at all. Axlis consumes PowerCSharp the same way any other .NET project would — as a regular NuGet package reference.
Start with the official website for an overview, the GitHub repository for source and release notes, and the blog for deeper write-ups on individual features.