Modern.Controllers.DataStore.InMemory.OData
10.0.0
dotnet add package Modern.Controllers.DataStore.InMemory.OData --version 10.0.0
NuGet\Install-Package Modern.Controllers.DataStore.InMemory.OData -Version 10.0.0
<PackageReference Include="Modern.Controllers.DataStore.InMemory.OData" Version="10.0.0" />
<PackageVersion Include="Modern.Controllers.DataStore.InMemory.OData" Version="10.0.0" />
<PackageReference Include="Modern.Controllers.DataStore.InMemory.OData" />
paket add Modern.Controllers.DataStore.InMemory.OData --version 10.0.0
#r "nuget: Modern.Controllers.DataStore.InMemory.OData, 10.0.0"
#:package Modern.Controllers.DataStore.InMemory.OData@10.0.0
#addin nuget:?package=Modern.Controllers.DataStore.InMemory.OData&version=10.0.0
#tool nuget:?package=Modern.Controllers.DataStore.InMemory.OData&version=10.0.0
OData Controllers In Memory
Modern generic OData controllers use Modern generic repositories to perform OData queries.
To use In Memory OData Controller install the Modern.Controllers.DataStore.InMemory.OData.DependencyInjection Nuget package and register it within Modern builder in DI:
builder.Services
.AddModern()
.AddInMemoryODataControllers(options =>
{
options.AddController<AirplaneDbo, long>();
});
Specify the type of dto entity model and primary key.
OData Controller requires one of modern repositories to be registered.\
Also register OData in the DI:
builder.Services.AddControllers(options =>
{
})
//..
.AddOData(opt =>
{
// Adjust settings as appropriate
opt.AddRouteComponents("api/odata", GetEdmModel());
opt.Select().Filter().Count().SkipToken().OrderBy().Expand().SetMaxTop(1000);
opt.TimeZone = TimeZoneInfo.Utc;
});
IEdmModel GetEdmModel()
{
// Adjust settings as appropriate
var builder = new ODataConventionModelBuilder();
builder.EnableLowerCamelCase();
// Register your OData models here. Name of the EntitySet should correspond to the name of OData controller
builder.EntitySet<AirplaneDbo>("airplanes");
builder.EntityType<AirplaneDbo>();
return builder.GetEdmModel();
}
| 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 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
- Microsoft.AspNetCore.OData (>= 9.4.1)
- Modern.Extensions.Microsoft.DependencyInjection (>= 10.0.0)
- Modern.Services.DataStore.InMemory.Abstractions (>= 10.0.0)
-
net8.0
- Microsoft.AspNetCore.OData (>= 9.4.1)
- Modern.Extensions.Microsoft.DependencyInjection (>= 10.0.0)
- Modern.Services.DataStore.InMemory.Abstractions (>= 10.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Modern.Controllers.DataStore.InMemory.OData:
| Package | Downloads |
|---|---|
|
Modern.Controllers.DataStore.InMemory.OData.DependencyInjection
A generic controller for OData queries in a data store |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0 | 100 | 1/28/2026 |
| 2.1.0 | 229 | 11/4/2024 |
| 2.0.0 | 352 | 11/29/2023 |
| 2.0.0-beta1 | 248 | 11/22/2023 |
| 1.0.2 | 447 | 7/20/2023 |
| 1.0.1 | 455 | 7/15/2023 |
| 1.0.0 | 475 | 5/22/2023 |
| 1.0.0-beta2 | 448 | 2/13/2023 |
| 1.0.0-beta1 | 428 | 1/25/2023 |
| 1.0.0-alpha1 | 799 | 8/27/2022 |