Upgrading Volo.Abp.EntityFrameworkCore 2 to 3
Breaking2.9.0 → 3.3.2Breaking38Deprecated1New216Changed192Fixed218Other229
BreakingUpgrade verdict
36 breaking changes.
In plain terms
- Angular builds stop emitting many unwanted locale JavaScript files, which changes build output.
- Removes TwoFactorEnabled related UI and application service.
- Configuring HTTP clients changes: the old HttpClientActions option is gone and a new builder options object is used instead.
- The proxy generator no longer accepts a solution name argument.
Must act Top 4 of 37 that need code or config changes
Drops configureawait.fody.
What you must change
Breaking36
Angular build no longer includes unexpected _locale*.js files.
Removes TwoFactorEnabled related UI and application service.
TwoFactorEnabledIntroduces AbpHttpClientBuilderOptions and removes AbpHttpClientOptions.HttpClientActions.
AbpHttpClientBuilderOptionsAbpHttpClientOptions.HttpClientActionsRemoves the solution name parameter from the proxy generator.
Stops publishing auto distributed events for entities by default.
Renames the default BLOB container.
Removes the Config packages.
Removes ObjectExtensionPropertyInfo.ValidationAttributes.
ObjectExtensionPropertyInfo.ValidationAttributesRemoves all deprecated APIs in the Angular UI.
Removes NGXS wherever it is not required.
NGXSRemoves deprecated APIs in Angular UI packages.
Blazorise CRUD page base enhancements introduce breaking changes.
BlazoriseCrudPageBaseBlazoriseCrudPageBase enhancements change the CRUD page base behavior.
BlazoriseCrudPageBaseBlogging module now uses the BLOB storage module for images and files.
Uses the new "abp generate-proxy" command for all modules in the Angular UI.
abp generate-proxyImplements ACID transactions for the MongoDB module.
Transforms replaceable components from NGXS state to an Angular service.
Makes Volo.Abp.Ldap support multi-tenancy.
Volo.Abp.LdapChanges how external login and password changes work.
Converts StringLengthAttribute usages to DynamicStringLengthAttribute.
StringLengthAttributeDynamicStringLengthAttributeFixes routes for feature and permission controllers.
Uses tilde (~) instead of caret (^) for NPM package dependencies in the MVC UI.
Sets ConcurrencyStamp property max length to the constant 40.
ConcurrencyStampAdds a forRoot static method for Theme Basic configuration.
forRootUnifies multiple update events for a single entity in the same unit of work.
Moves EtoMappings from AbpDistributedEventBusOptions to AbpDistributedEntityEventOptions.
EtoMappingsAbpDistributedEventBusOptionsAbpDistributedEntityEventOptionsChanges the UOW Timeout property type to int?.
TimeoutSets length for EntityFrameworkCore IdentityServerClients table columns ExtraProperties and ConcurrencyStamp.
ExtraPropertiesConcurrencyStampFixes the inability to set TimeOut for the UnitOfWorkAttribute.
UnitOfWorkAttributeSets AbpSequentialGuidGeneratorOptions.DefaultSequentialGuidType by the database provider packages.
AbpSequentialGuidGeneratorOptions.DefaultSequentialGuidTypeMakes the GetClaimsPrincipal method public.
GetClaimsPrincipalCompiles Angular UI packages with TypeScript v3.8 and Angular v9.
Sets the ListService's page variable initial value to 0.
ListServiceMakes base properties of common base classes protected instead of public.
Changes the defining nav items structure and deprecates the old structure.
Splits ICrudAppservice and its implementations.
ICrudAppserviceDeprecations to plan for
Deprecated1
Makes the method that uses propertyBuildAction obsolete.
propertyBuildAction