ASP.NET Core ActionFilter for sorting and pagination
Install-Package LightQuery -Version 1.9.1
dotnet add package LightQuery --version 1.9.1
<PackageReference Include="LightQuery" Version="1.9.1" />
paket add LightQuery --version 1.9.1
- Drop tests for `netcoreapp2.0` and `netcoreapp3.0` and add tests for `netcoreapp3.1`
- The Angular library was updated to v10
- Addition of the **LightQuery.Swashbuckle** (thanks to GitHub user @berkayakcay) and **LightQuery.NSwag** packages to support Swagger & OpenAPI generation
- The Angular library was updated to be compatible with Angular v9.1
- Add a `thenSort` parameter to specify a second sort option. This translates to something like `queryable.OrderBy(sort).ThenBy(thenSort)`
- Fix C# client not cancelling previous requests when query parameters in the `PaginationBaseService` were changed. If a new request is started due to parameter changes while another request is still en-route, the previous request is discarded and no event is emitted for when the previous request completes
- The C# client has now an additional constructor overload for the `PaginationBaseService` to be able to pass a `CancellationToken`
- Fix possible `NullReferenceException` in case of relational sorting where an invalid property name is passed via the query. Thanks to GitHub user @smitpatel for discovering it!
- Fixed a bug that caused Entity Framework Core to throw an `InvalidOperationException` when sorting was applied to projections to a class that inherited from the base query type. The error was an incorrectly used reflection invocation to determine the type the query applies to
- Add support for ASP.NET Core 3.0
- The .NET `PaginationBaseService` no longer makes requests when the url is null
- Fix issue where `BadRequest` results in `AsyncLightQuery` decorated controllers with `forcePagination:true` were returning an empty `OkResult` with status code `200` instead of the original `404 - Bad Request`
- The generated assemblies now have a strong name. This is a breaking change of the binary API and will require recompilation on all systems that consume this package. The strong name of the generated assembly allows compatibility with other, signed tools. Please note that this does not increase security or provide tamper-proof binaries, as the key is available in the source code per [Microsoft guidelines](https://msdn.microsoft.com/en-us/library/wd40t7ad(v=vs.110).aspx)
- Bugfix: Empty results now report the `page` as `1` instead of `0`. Thanks to GitHub user @erdembas for the pull request!
- When a `page` is requested that is higher than the last available one, the last available one will be returned instead. Thanks to GitHub user @erdembas for the pull request!
- It's now possible to do relational sorting, meaning that nested properties can be used for sorting. For example, it is now possible to sort by `user.bankAccount.balance`. Thanks to GitHub user @erdembas for the pull request!
- The `defaultSort` parameter was introduced for the server side controller attributes. Thanks to GitHub user @erdembas for the pull request!
- Raise minimum supported .NET Standard version to `netstandard2.0`
- Bump version to align .NET and npm package versions
- Publish ng-lightquery npm package for angular and include PaginationBaseService in the client libraries
- Update version to align with new releases of LightQuery.EntityFrameworkCore and LightQuery.Client. Added support for EntityFrameworkCore async materialization of queries and a client side package for easier consuming of APIs
- Forced pagination was not applied when no query string at all was present in the Http request
- Initial release
NuGet packages (2)
Showing the top 2 NuGet packages that depend on LightQuery:
Extensions to use LightQuery with Swashbuckle
Extensions to use LightQuery with NSwag
This package is not used by any popular GitHub repositories.