Modern.Controllers.DataStore.InMemory.OData
2.1.0
dotnet add package Modern.Controllers.DataStore.InMemory.OData --version 2.1.0
NuGet\Install-Package Modern.Controllers.DataStore.InMemory.OData -Version 2.1.0
<PackageReference Include="Modern.Controllers.DataStore.InMemory.OData" Version="2.1.0" />
paket add Modern.Controllers.DataStore.InMemory.OData --version 2.1.0
#r "nuget: Modern.Controllers.DataStore.InMemory.OData, 2.1.0"
// Install Modern.Controllers.DataStore.InMemory.OData as a Cake Addin #addin nuget:?package=Modern.Controllers.DataStore.InMemory.OData&version=2.1.0 // Install Modern.Controllers.DataStore.InMemory.OData as a Cake Tool #tool nuget:?package=Modern.Controllers.DataStore.InMemory.OData&version=2.1.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 | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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. |
-
net6.0
- Microsoft.AspNetCore.OData (>= 8.2.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Modern.Extensions.Microsoft.DependencyInjection (>= 1.2.0)
- Modern.Services.DataStore.InMemory.Abstractions (>= 1.1.0)
-
net7.0
- Microsoft.AspNetCore.OData (>= 8.2.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Modern.Extensions.Microsoft.DependencyInjection (>= 1.2.0)
- Modern.Services.DataStore.InMemory.Abstractions (>= 1.1.0)
-
net8.0
- Microsoft.AspNetCore.OData (>= 8.2.5)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Modern.Extensions.Microsoft.DependencyInjection (>= 1.2.0)
- Modern.Services.DataStore.InMemory.Abstractions (>= 1.1.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 |
---|---|---|
2.1.0 | 92 | 11/4/2024 |
2.0.0 | 298 | 11/29/2023 |
2.0.0-beta1 | 187 | 11/22/2023 |
1.0.2 | 350 | 7/20/2023 |
1.0.1 | 354 | 7/15/2023 |
1.0.0 | 359 | 5/22/2023 |
1.0.0-beta2 | 307 | 2/13/2023 |
1.0.0-beta1 | 307 | 1/25/2023 |
1.0.0-alpha1 | 662 | 8/27/2022 |