Releases: trenoncourt/AutoQueryable
AutoQueryable 2.0.11-beta
Features
add ThenBy/ThenByDescending method for sorting
add sub query or else capability
add multiple or capability
update doc with or & and capabilities
Fix
change backing field to resolve net core serializer problem
total count now works in concurrent queries
AutoQueryable 2.0.6-beta
Fixes
fix: remove '_' from auto property naming in netframework classic
AutoQueryable 2.0.5-beta
AutoQueryable 2.0.4-beta
Fixes
#61 Decimal points in query strings
decimal point in query string are now well converted into decimal type
AutoQueryable 2.0.3-beta
Features
#57 Default to select
You can now define DefaultToSelect
property in AQ settings or with attribute. By default, selection si '_' which is all properties without navigation
[AutoQueryable(DefaultToSelect = "_")]
[AutoQueryable(DefaultToSelect = "*")]
[AutoQueryable(DefaultToSelect = "id,name")]
Fixes
#58 Support for Indexer access
Indexer properties are now ignored to prevent this bug, they will be managed in a future release.
AutoQueryable 2.0.2-beta
Features
Dependency Injection
The major update into AQ 2.x is DI. you can replace all AQ dependencies by yours, eg:
services.AddScoped<IAutoQueryableContext, AutoQueryableContext>()
.AddScoped<IAutoQueryableProfile, AutoQueryableProfile>(_ => profile)
.AddScoped<IAutoQueryHandler, AutoQueryHandler>()
.AddScoped<IClauseValueManager, ClauseValueManager>()
.AddScoped<ICriteriaFilterManager, CriteriaFilterManager>()
.AddScoped<IClauseMapManager, ClauseMapManager>()
.AddScoped<ISelectClauseHandler, DefaultSelectClauseHandler>()
.AddScoped<IOrderByClauseHandler, DefaultOrderByClauseHandler>()
.AddScoped<IWrapWithClauseHandler, DefaultWrapWithClauseHandler>()
.AddScoped<IQueryStringAccessor, AspNetCoreQueryStringAccessor>()
.AddScoped<AutoQueryableFilter>();
there are 2 new packages for aspnet core & aspnet framework to add all default AQ dependencies :
// aspnet core
services..AddAutoQueryable();
// aspnet framework
builder.RegisterAutoQueryable();
Global settings
You can define global settings for AQ with DI:
services.AddAutoQueryable(settings => { settings.DefaultToTake = 10; });
If you're not using built-in DI you can register your own implementation of IAutoQueryableProfile
Swagger
#56 You can now use AQ swagger extension with non AQ attribute routes with the new AutoQueryableSwagger
Attribute
Changes
Default To take
#57 Default to take has no default value. We can define default value in DI settings
AutoQueryable 1.7.0
Features
Page and PageSize clauses
- Add Page and PageSize clauses to include paging for requests
DateInYear and DateNotInYear
- Add DateInYear and DateNotInYear filters to filter date with year only, usage:
mydate:year=1989&mydate:year!=2018
Changes
Default To take
Add default value for DefaultToTake property : 10
Refactor
Big refacto of filters & unit testing:
- CriteriaFilter
- DateTimeFilter
- StringFilter
- Level - Alias for filters
- Xunit and FluentAssertions for testing
- Require 'this' qualifier for properties, fields, events, ...
- Var usage in all declarations
Big thanks to @nfdevil for this work
AutoQueryable 1.6.0
Features
Default Order By
- Add DefaultOrderBy, DefaultOrderByDesc capability in attribute and profile
Default To take
Add DefaultToTake capability in attribute and profile
Fixes
MaxToTake
- MaxToTake now works without queryString
Select Helper
- runtime type now use type name as well
Base Types
- base types now work with take/skip
Refactor
Started a big refactoring of the project for 2.0 version:
- Remove providers & default providers
- Perf improvment
- Small fixes
- Change nullable properties in profil in favor of properties
- No more AQ.Core project
- Add AQ context injected in all models
- Add clauses models
- ...
AutoQueryable 1.5.0
Features
Level zero star selector
Add ability to retrieve all relationships from level 0 with select=*
Level zero underscore selector
Add ability to retrieve all the fields of level 0 without relationships with select=_.
Of course you can chain level zero underscore and star with others selections
AutoQueryable 1.4.1
Features
Base type
Add a property inside autoqueryable attribute and autoqueryable profile to chose between dynamic types and base types.
Dynamic type will be the default type.
Fixes
Query string
- query string with special character * is now unescaped