Arham.Foundation.OData
0.6.0-preview.5
dotnet add package Arham.Foundation.OData --version 0.6.0-preview.5
NuGet\Install-Package Arham.Foundation.OData -Version 0.6.0-preview.5
<PackageReference Include="Arham.Foundation.OData" Version="0.6.0-preview.5" />
<PackageVersion Include="Arham.Foundation.OData" Version="0.6.0-preview.5" />
<PackageReference Include="Arham.Foundation.OData" />
paket add Arham.Foundation.OData --version 0.6.0-preview.5
#r "nuget: Arham.Foundation.OData, 0.6.0-preview.5"
#:package Arham.Foundation.OData@0.6.0-preview.5
#addin nuget:?package=Arham.Foundation.OData&version=0.6.0-preview.5&prerelease
#tool nuget:?package=Arham.Foundation.OData&version=0.6.0-preview.5&prerelease
Arham.Foundation.OData
OData query helpers for .NET APIs.
Use this package to translate OData query options into reusable Ardalis.Specification specifications that any Ardalis.Specification repository can run.
Install
dotnet add package Arham.Foundation.OData
What It Provides
- OData query parameter formatting
- OData filter/order/paging parsing against an EDM model
ODataQueryListSpec<T> : Ardalis.Specification.Specification<T>built from the parsed filter, ordering, skip, and top
Example
using Ardalis.Specification;
using Arham.Foundation.OData;
// Parse OData options into an Ardalis specification (IEdmModel comes from your model builder).
IODataSpecificationProvider provider = new ODataListSpecificationProvider(edmModel);
ODataQueryListSpec<Customer> specification =
provider.GetSpecification<Customer>("$filter=status eq 'active'&$top=25", "Customers");
// Hand the specification to any Ardalis.Specification repository...
var customers = await repository.ListAsync(specification, cancellationToken);
// ...or evaluate an in-memory sequence directly.
var inMemory = specification.Evaluate(customerList);
Dependencies
This package depends on Arham Foundation Core, Ardalis.Specification, Microsoft.AspNetCore.OData, and logging abstractions. It does not depend on persistence or messaging packages.
| 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
- Ardalis.Specification (>= 9.3.1)
- Arham.Foundation.Core (>= 0.6.0-preview.5)
- Microsoft.AspNetCore.OData (>= 9.4.1)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.6.0-preview.5 | 1,767 | 7/5/2026 |
| 0.6.0-preview.4 | 71 | 7/5/2026 |
| 0.6.0-preview.3 | 174 | 6/22/2026 |
| 0.6.0-preview.2 | 98 | 6/19/2026 |
| 0.6.0-preview.1 | 80 | 6/19/2026 |
| 0.6.0-preview.0 | 97 | 6/18/2026 |
| 0.5.0-Preview.0 | 68 | 6/18/2026 |
| 0.4.0-Preview.0 | 86 | 6/18/2026 |
| 0.3.0-Preview.0 | 68 | 6/17/2026 |
| 0.2.0-preview.0 | 182 | 6/17/2026 |
| 0.1.0-Preview.7 | 58 | 6/16/2026 |
| 0.1.0-Preview.6 | 56 | 6/16/2026 |
| 0.1.0-Preview.5 | 1,946 | 6/16/2026 |
| 0.1.0-preview.4 | 71 | 6/13/2026 |
| 0.1.0-Preview.3 | 60 | 6/13/2026 |
0.6.0-preview.5: multitenancy contracts (ITenantScopedEntity, ITenantContextProvider, StaticTenantContextProvider, MissingTenantContextException, CrossTenantWriteException) moved from Arham.Foundation.Persistence.EfCore to Arham.Foundation.Core (namespace Arham.Foundation.Core.Multitenancy) so domain layers can implement the tenant marker without an EF Core dependency. EF enforcement (TenantSaveChangesInterceptor, UseArhamMultitenancy, UseArhamTenantEnforcement) and the PostgreSQL RLS half are unchanged in their packages. Breaking within the 0.6.0 preview line: update usings from Arham.Foundation.Persistence.EfCore.Multitenancy to Arham.Foundation.Core.Multitenancy for the moved types. See CHANGELOG.md and docs/Multitenancy.md.